2017-11-06 13:26:10

by Vasily Averin

[permalink] [raw]
Subject: [PATCH v3 21/21] sunrpc: exit_net cleanup check added

Be sure that all_clients list initialized in net_init hook was return
to initial state.

Signed-off-by: Vasily Averin <[email protected]>
---
net/sunrpc/sunrpc_syms.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/net/sunrpc/sunrpc_syms.c b/net/sunrpc/sunrpc_syms.c
index c73de18..3ee6d8e 100644
--- a/net/sunrpc/sunrpc_syms.c
+++ b/net/sunrpc/sunrpc_syms.c
@@ -65,10 +65,15 @@ static __net_init int sunrpc_init_net(struct net *net)

static __net_exit void sunrpc_exit_net(struct net *net)
{
+ struct sunrpc_net *sn = net_generic(net, sunrpc_net_id);
+
rpc_pipefs_exit_net(net);
unix_gid_cache_destroy(net);
ip_map_cache_destroy(net);
rpc_proc_exit(net);
+ WARN_ONCE(!list_empty(&sn->all_clients),
+ "net %x %s: all_clients list is not empty\n",
+ net->ns.inum, __func__);
}

static struct pernet_operations sunrpc_net_ops = {
--
2.7.4