diff options
-rw-r--r-- | security/selinux/ss/services.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 4785ca552d51..ccfa65f6bc17 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c | |||
@@ -2811,6 +2811,13 @@ int security_get_bools(struct selinux_state *state, | |||
2811 | struct policydb *policydb; | 2811 | struct policydb *policydb; |
2812 | int i, rc; | 2812 | int i, rc; |
2813 | 2813 | ||
2814 | if (!state->initialized) { | ||
2815 | *len = 0; | ||
2816 | *names = NULL; | ||
2817 | *values = NULL; | ||
2818 | return 0; | ||
2819 | } | ||
2820 | |||
2814 | read_lock(&state->ss->policy_rwlock); | 2821 | read_lock(&state->ss->policy_rwlock); |
2815 | 2822 | ||
2816 | policydb = &state->ss->policydb; | 2823 | policydb = &state->ss->policydb; |
@@ -3141,6 +3148,12 @@ int security_get_classes(struct selinux_state *state, | |||
3141 | struct policydb *policydb = &state->ss->policydb; | 3148 | struct policydb *policydb = &state->ss->policydb; |
3142 | int rc; | 3149 | int rc; |
3143 | 3150 | ||
3151 | if (!state->initialized) { | ||
3152 | *nclasses = 0; | ||
3153 | *classes = NULL; | ||
3154 | return 0; | ||
3155 | } | ||
3156 | |||
3144 | read_lock(&state->ss->policy_rwlock); | 3157 | read_lock(&state->ss->policy_rwlock); |
3145 | 3158 | ||
3146 | rc = -ENOMEM; | 3159 | rc = -ENOMEM; |