Commit 15b590a8 authored by Paul Moore's avatar Paul Moore
Browse files

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: 66f8e2f0 ("selinux: sidtab reverse lookup hash table")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
parent 030b995a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1286,6 +1286,12 @@ int security_sidtab_hash_stats(struct selinux_state *state, char *page)
{
	int rc;

	if (!state->initialized) {
		pr_err("SELinux: %s:  called before initial load_policy\n",
		       __func__);
		return -EINVAL;
	}

	read_lock(&state->ss->policy_rwlock);
	rc = sidtab_hash_stats(state->ss->sidtab, page);
	read_unlock(&state->ss->policy_rwlock);