Message ID | c0d49d64-d46b-21e6-02e4-4c445600bd39@virtuozzo.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
Series | exit_net checks for objects initialized in net_init hook | expand |
Vasily Averin <vvs@virtuozzo.com> wrote: > Be sure that instance_table array initialized in net_init hook > was return to initial state. > + for (i = 0; i < INSTANCE_BUCKETS; i++) > + if (WARN_ON_ONCE(!hlist_empty(&q->instance_table[i]))) > + break; This looks strange, why if/break? Plain WARN_ON_ONCE should be enough, but thats a nit so: Acked-by: Florian Westphal <fw@strlen.de>
On 2017-11-12 11:52, Florian Westphal wrote: > Vasily Averin <vvs@virtuozzo.com> wrote: >> Be sure that instance_table array initialized in net_init hook >> was return to initial state. > >> + for (i = 0; i < INSTANCE_BUCKETS; i++) >> + if (WARN_ON_ONCE(!hlist_empty(&q->instance_table[i]))) >> + break; > > This looks strange, why if/break? I did not want to generate huge number of messages on each non-empty hash bucket. > Plain WARN_ON_ONCE should be enough, but thats a nit so: Oh, you're right. In first patch version WARN_ON was used here. I've missed that only first message will be printed with _ONCE check. > Acked-by: Florian Westphal <fw@strlen.de> >
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c index c979662..fd41077 100644 --- a/net/netfilter/nfnetlink_queue.c +++ b/net/netfilter/nfnetlink_queue.c @@ -1512,10 +1512,16 @@ static int __net_init nfnl_queue_net_init(struct net *net) static void __net_exit nfnl_queue_net_exit(struct net *net) { + unsigned int i; + struct nfnl_queue_net *q = nfnl_queue_pernet(net); + nf_unregister_queue_handler(net); #ifdef CONFIG_PROC_FS remove_proc_entry("nfnetlink_queue", net->nf.proc_netfilter); #endif + for (i = 0; i < INSTANCE_BUCKETS; i++) + if (WARN_ON_ONCE(!hlist_empty(&q->instance_table[i]))) + break; } static void nfnl_queue_net_exit_batch(struct list_head *net_exit_list)
Be sure that instance_table array initialized in net_init hook was return to initial state. Signed-off-by: Vasily Averin <vvs@virtuozzo.com> --- net/netfilter/nfnetlink_queue.c | 6 ++++++ 1 file changed, 6 insertions(+)