Hello Alexey, Sounds excellent! Could you please drop a notifier of such?
For our usecase, the ipv6 is statically linked (=y) and then this happens way before userland starts (thus no access to procfs) so I believe we should be able to continue as is until we can replace with your proper patch. Agree? Also still wonder about the others that creates directories in procfs net, that do not call proc_net_mkdir(). My second patch changed to use proc_net_mkdir for dev_snmp6 directory, so if proc_net_mkdir is fixed it should cover at least the ipv6 snmp counters. But I think there's other that could benefit of same? Like : net/netfilter/xt_hashlimit.c: hashlimit_net->ipt_hashlimit = proc_mkdir("ipt_hashlimit", net->proc_net); net/netfilter/xt_hashlimit.c: hashlimit_net->ip6t_hashlimit = proc_mkdir("ip6t_hashlimit", net->proc_net); Wouldn't those also want to be reflected by a net namespace change? Just an example, there are others too. BR, Per -- Per Hallsmark per.hallsm...@windriver.com Senior Member Technical Staff Wind River AB Mobile: +46733249340 Office: +46859461127 Torshamnsgatan 27 164 40 Kista ________________________________________ From: Alexey Dobriyan [adobri...@gmail.com] Sent: Thursday, July 04, 2019 09:32 To: Hallsmark, Per Cc: David S. Miller; linux-kernel@vger.kernel.org; net...@vger.kernel.org Subject: Re: [PATCH v2] let proc net directory inodes reflect to active net namespace On Mon, Jul 01, 2019 at 11:06:34AM +0000, Hallsmark, Per wrote: > +struct proc_dir_entry *proc_net_mkdir(struct net *net, const char *name, > + struct proc_dir_entry *parent) > +{ > + struct proc_dir_entry *pde; > + > + pde = proc_mkdir_data(name, 0, parent, net); > + if (!pde) > + return NULL; > + pde->proc_dops = &proc_net_dentry_ops; OK, this is buggy in a different way: once proc_mkdir_data() returns, proc entry is live and should be fully ready, so dentry operations should be glued before that. I'll send proper patch.