Commit e31f0a57 authored by Al Viro's avatar Al Viro
Browse files

procfs: make freeing proc_fs_info rcu-delayed



makes proc_pid_ns() safe from rcu pathwalk (put_pid_ns()
is still synchronous, but that's not a problem - it does
rcu-delay everything that needs to be)

Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 47458802
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -271,7 +271,7 @@ static void proc_kill_sb(struct super_block *sb)

	kill_anon_super(sb);
	put_pid_ns(fs_info->pid_ns);
	kfree(fs_info);
	kfree_rcu(fs_info, rcu);
}

static struct file_system_type proc_fs_type = {
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ struct proc_fs_info {
	kgid_t pid_gid;
	enum proc_hidepid hide_pid;
	enum proc_pidonly pidonly;
	struct rcu_head rcu;
};

static inline struct proc_fs_info *proc_sb_info(struct super_block *sb)