Commit 550ad8ef authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security

Pull selinux fix from James Morris:
 "Fix for a double free bug in SELinux"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
  selinux: fix double free in selinux_parse_opts_str()
parents a090bd4f 023f108d
...@@ -1106,10 +1106,8 @@ static int selinux_parse_opts_str(char *options, ...@@ -1106,10 +1106,8 @@ static int selinux_parse_opts_str(char *options,
opts->mnt_opts_flags = kcalloc(NUM_SEL_MNT_OPTS, sizeof(int), opts->mnt_opts_flags = kcalloc(NUM_SEL_MNT_OPTS, sizeof(int),
GFP_KERNEL); GFP_KERNEL);
if (!opts->mnt_opts_flags) { if (!opts->mnt_opts_flags)
kfree(opts->mnt_opts);
goto out_err; goto out_err;
}
if (fscontext) { if (fscontext) {
opts->mnt_opts[num_mnt_opts] = fscontext; opts->mnt_opts[num_mnt_opts] = fscontext;
...@@ -1132,6 +1130,7 @@ static int selinux_parse_opts_str(char *options, ...@@ -1132,6 +1130,7 @@ static int selinux_parse_opts_str(char *options,
return 0; return 0;
out_err: out_err:
security_free_mnt_opts(opts);
kfree(context); kfree(context);
kfree(defcontext); kfree(defcontext);
kfree(fscontext); kfree(fscontext);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment