Commit 6decbf75 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'selinux-pr-20220616' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux

Pull selinux fix from Paul Moore:
 "A single SELinux patch to fix memory leaks when mounting filesystems
  with SELinux mount options"

* tag 'selinux-pr-20220616' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
  selinux: free contexts previously transferred in selinux_add_opt()
parents 48a23ec6 cad140d0
...@@ -2600,8 +2600,9 @@ static int selinux_sb_eat_lsm_opts(char *options, void **mnt_opts) ...@@ -2600,8 +2600,9 @@ static int selinux_sb_eat_lsm_opts(char *options, void **mnt_opts)
} }
} }
rc = selinux_add_opt(token, arg, mnt_opts); rc = selinux_add_opt(token, arg, mnt_opts);
kfree(arg);
arg = NULL;
if (unlikely(rc)) { if (unlikely(rc)) {
kfree(arg);
goto free_opt; goto free_opt;
} }
} else { } else {
...@@ -2792,17 +2793,13 @@ static int selinux_fs_context_parse_param(struct fs_context *fc, ...@@ -2792,17 +2793,13 @@ static int selinux_fs_context_parse_param(struct fs_context *fc,
struct fs_parameter *param) struct fs_parameter *param)
{ {
struct fs_parse_result result; struct fs_parse_result result;
int opt, rc; int opt;
opt = fs_parse(fc, selinux_fs_parameters, param, &result); opt = fs_parse(fc, selinux_fs_parameters, param, &result);
if (opt < 0) if (opt < 0)
return opt; return opt;
rc = selinux_add_opt(opt, param->string, &fc->security); return selinux_add_opt(opt, param->string, &fc->security);
if (!rc)
param->string = NULL;
return rc;
} }
/* inode security operations */ /* inode security operations */
......
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