diff --git a/fs/proc/root.c b/fs/proc/root.c index 1c55270a231b..cdbe9293ea55 100644 --- a/fs/proc/root.c +++ b/fs/proc/root.c @@ -77,7 +77,8 @@ static int proc_parse_param(struct fs_context *fc, struct fs_parameter *param) return 0; } -static void proc_apply_options(struct fs_context *fc, +static void proc_apply_options(struct super_block *s, + struct fs_context *fc, struct pid_namespace *pid_ns, struct user_namespace *user_ns) { @@ -95,7 +96,7 @@ static int proc_fill_super(struct super_block *s, struct fs_context *fc) struct inode *root_inode; int ret; - proc_apply_options(fc, pid_ns, current_user_ns()); + proc_apply_options(s, fc, pid_ns, current_user_ns()); /* User space would break if executables or devices appear on proc */ s->s_iflags |= SB_I_USERNS_VISIBLE | SB_I_NOEXEC | SB_I_NODEV; @@ -143,7 +144,7 @@ static int proc_reconfigure(struct fs_context *fc) sync_filesystem(sb); - proc_apply_options(fc, pid, current_user_ns()); + proc_apply_options(sb, fc, pid, current_user_ns()); return 0; } @@ -151,7 +152,6 @@ static int proc_get_tree(struct fs_context *fc) { struct proc_fs_context *ctx = fc->fs_private; - proc_apply_options(fc, ctx->pid_ns, current_user_ns()); return get_tree_keyed(fc, proc_fill_super, ctx->pid_ns); }