UPSTREAM: selinux: ensure the policy has been loaded before reading the sidtab stats
Check to make sure we have loaded a policy before we query the sidtab's hash stats. Failure to do so could result in a kernel panic/oops due to a dereferenced NULL pointer. Fixes:66f8e2f03c("selinux: sidtab reverse lookup hash table") Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Paul Moore <paul@paul-moore.com> (cherry picked from commit15b590a81f) Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I9c9309341634ba0bdc6d151ec1ae4040a71dcd40
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b1ab580076
commit
26d0b8dd3a
@@ -1261,6 +1261,12 @@ int security_sidtab_hash_stats(struct selinux_state *state, char *page)
|
|||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
|
if (!state->initialized) {
|
||||||
|
pr_err("SELinux: %s: called before initial load_policy\n",
|
||||||
|
__func__);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
read_lock(&state->ss->policy_rwlock);
|
read_lock(&state->ss->policy_rwlock);
|
||||||
rc = sidtab_hash_stats(state->ss->sidtab, page);
|
rc = sidtab_hash_stats(state->ss->sidtab, page);
|
||||||
read_unlock(&state->ss->policy_rwlock);
|
read_unlock(&state->ss->policy_rwlock);
|
||||||
|
|||||||
Reference in New Issue
Block a user