Dear Jozsef, thank you for your feedback, I've added description into cover letter, however it was not sent into netfilters mailing lists: "This patch set checks that lists initialized in net_init hooks were return to initial state at end of net_exit hooks. I hope such checks allows to detect leaked per-netns objects. Also I hope that all new pernet_operations will inherit such checks too. I assume that elements added into per-net lists should not live longer than net namespace, and should be deleted from the list. I think exit_net hook is good place for such check. Recently I've found lost list_entry and enabled timer on stop of net namespace. Then I've reviewed all existing pernet_operations and found that many drivers have such checks already. So I decided to complete this task and add such checks into all affected subsystems. v3: - use net->ns.inum as net Id - removed patches for hashlimit and recent, they handle tables list in exit_net hook. - added patches for grace and lockd v2: - net pointer removed from output - fixed compilation for phonet driver " On 2017-11-06 16:40, Jozsef Kadlecsik wrote: > Hello Vasily, > > On Mon, 6 Nov 2017, Vasily Averin wrote: > >> Be sure that configs list initialized in net_init hook was return >> to initial state. > > What is the goal of the patch series you sent in the third version in a > row? > > - If the deinitializations are missing from the files, the patches > do not fix them, just emit warnings. > - If the deinitializations are not missing, the patches are totally > unnecessary. > > It looks like debugging... but not expressed that way, neither in the > subject lines nor in the patch descriptions. > > Best regards, > Jozsef > >> Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> >> --- >> net/ipv4/netfilter/ipt_CLUSTERIP.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c >> index 17b4ca5..4364a88 100644 >> --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c >> +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c >> @@ -819,6 +819,9 @@ static void clusterip_net_exit(struct net *net) >> cn->procdir = NULL; >> #endif >> nf_unregister_net_hook(net, &cip_arp_ops); >> + WARN_ONCE(!list_empty(&cn->configs), >> + "net %x %s: configs list is not empty\n", >> + net->ns.inum, __func__); >> } >> >> static struct pernet_operations clusterip_net_ops = { >> -- >> 2.7.4 >> >> > > - > E-mail : kadlec@xxxxxxxxxxxxxxxxx, kadlecsik.jozsef@xxxxxxxxxxxxx > PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt > Address : Wigner Research Centre for Physics, Hungarian Academy of Sciences > H-1525 Budapest 114, POB. 49, Hungary > -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html