|
@@ -117,7 +117,8 @@ clusterip_config_entry_put(struct net *net, struct clusterip_config *c)
|
|
|
* functions are also incrementing the refcount on their own,
|
|
* functions are also incrementing the refcount on their own,
|
|
|
* so it's safe to remove the entry even if it's in use. */
|
|
* so it's safe to remove the entry even if it's in use. */
|
|
|
#ifdef CONFIG_PROC_FS
|
|
#ifdef CONFIG_PROC_FS
|
|
|
- proc_remove(c->pde);
|
|
|
|
|
|
|
+ if (cn->procdir)
|
|
|
|
|
+ proc_remove(c->pde);
|
|
|
#endif
|
|
#endif
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -815,6 +816,7 @@ static void clusterip_net_exit(struct net *net)
|
|
|
#ifdef CONFIG_PROC_FS
|
|
#ifdef CONFIG_PROC_FS
|
|
|
struct clusterip_net *cn = net_generic(net, clusterip_net_id);
|
|
struct clusterip_net *cn = net_generic(net, clusterip_net_id);
|
|
|
proc_remove(cn->procdir);
|
|
proc_remove(cn->procdir);
|
|
|
|
|
+ cn->procdir = NULL;
|
|
|
#endif
|
|
#endif
|
|
|
nf_unregister_net_hook(net, &cip_arp_ops);
|
|
nf_unregister_net_hook(net, &cip_arp_ops);
|
|
|
}
|
|
}
|