diff --git a/[refs] b/[refs] index 2bbd79b69585..0d33479c69a2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 282c1f5eba150d0b156ffa9e6b064f1d92f8315f +refs/heads/master: 20c19e4179884d7e843314071e2dfb1ea7b0afcd diff --git a/trunk/security/selinux/selinuxfs.c b/trunk/security/selinux/selinuxfs.c index 8eb140dd2e4b..a45cc971e735 100644 --- a/trunk/security/selinux/selinuxfs.c +++ b/trunk/security/selinux/selinuxfs.c @@ -879,7 +879,7 @@ static ssize_t sel_commit_bools_write(struct file *filep, if (sscanf(page, "%d", &new_value) != 1) goto out; - if (new_value) { + if (new_value && bool_pending_values) { security_set_bools(bool_num, bool_pending_values); } @@ -952,6 +952,7 @@ static int sel_make_bools(void) /* remove any existing files */ kfree(bool_pending_values); + bool_pending_values = NULL; sel_remove_bools(dir); @@ -1002,6 +1003,7 @@ static int sel_make_bools(void) } return ret; err: + kfree(values); d_genocide(dir); ret = -ENOMEM; goto out;