From: Kirill Tkhai Date: Tue, 13 Feb 2018 09:26:52 +0000 (+0300) Subject: net: Convert proc_net_ns_ops X-Git-Tag: v4.17-rc1~148^2~446^2~26 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f039e184bc45227553e645fb1c7021d69a5262b4;p=users%2Fwilly%2Flinux.git net: Convert proc_net_ns_ops This patch starts to convert pernet_subsys, registered before initcalls. proc_net_ns_ops::proc_net_ns_init()/proc_net_ns_exit() {un,}register pernet net->proc_net and ->proc_net_stat. Constructors and destructors of another pernet_operations are not interested in foreign net's proc_net and proc_net_stat. Proc filesystem privitives are synchronized on proc_subdir_lock. So, proc_net_ns_ops methods are able to be executed in parallel with methods of any other pernet operations. Signed-off-by: Kirill Tkhai Acked-by: Andrei Vagin Signed-off-by: David S. Miller --- diff --git a/fs/proc/proc_net.c b/fs/proc/proc_net.c index 68c06ae7888c..da6f8733c9c5 100644 --- a/fs/proc/proc_net.c +++ b/fs/proc/proc_net.c @@ -237,6 +237,7 @@ static __net_exit void proc_net_ns_exit(struct net *net) static struct pernet_operations __net_initdata proc_net_ns_ops = { .init = proc_net_ns_init, .exit = proc_net_ns_exit, + .async = true, }; int __init proc_net_init(void)