summaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorMicah Morton <mortonm@chromium.org>2019-09-17 11:27:05 -0700
committerMicah Morton <mortonm@chromium.org>2019-09-17 11:27:05 -0700
commit21ab8580b383f27b7f59b84ac1699cb26d6c3d69 (patch)
tree7d9c05424305e24e211aabdbdd1c5550bcbbc2fb /security
parent609488bc979f99f805f34e9a32c1e3b71179d10b (diff)
downloadlinux-21ab8580b383f27b7f59b84ac1699cb26d6c3d69.tar.gz
linux-21ab8580b383f27b7f59b84ac1699cb26d6c3d69.tar.bz2
linux-21ab8580b383f27b7f59b84ac1699cb26d6c3d69.zip
LSM: SafeSetID: Stop releasing uninitialized ruleset
The first time a rule set is configured for SafeSetID, we shouldn't be trying to release the previously configured ruleset, since there isn't one. Currently, the pointer that would point to a previously configured ruleset is uninitialized on first rule set configuration, leading to a crash when we try to call release_ruleset with that pointer. Acked-by: Jann Horn <jannh@google.com> Signed-off-by: Micah Morton <mortonm@chromium.org>
Diffstat (limited to 'security')
-rw-r--r--security/safesetid/securityfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/security/safesetid/securityfs.c b/security/safesetid/securityfs.c
index d568e17dd773..74a13d432ed8 100644
--- a/security/safesetid/securityfs.c
+++ b/security/safesetid/securityfs.c
@@ -187,7 +187,8 @@ out_free_rule:
out_free_buf:
kfree(buf);
out_free_pol:
- release_ruleset(pol);
+ if (pol)
+ release_ruleset(pol);
return err;
}