netfilter: nfnetlink_queue: Unregister pernet subsys in case of init failure
authorNikolay Borisov <kernel@kyup.com>
Mon, 7 Dec 2015 10:13:26 +0000 (12:13 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Wed, 9 Dec 2015 13:46:47 +0000 (14:46 +0100)
Commit 3bfe049807c2403 ("netfilter: nfnetlink_{log,queue}:
Register pernet in first place") reorganised the initialisation
order of the pernet_subsys to avoid "use-before-initialised"
condition. However, in doing so the cleanup logic in nfnetlink_queue
got botched in that the pernet_subsys wasn't cleaned in case
nfnetlink_subsys_register failed. This patch adds the necessary
cleanup routine call.

Fixes: 3bfe049807c2403 ("netfilter: nfnetlink_{log,queue}: Register pernet in first place")
Signed-off-by: Nikolay Borisov <kernel@kyup.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/netfilter/nfnetlink_queue.c

index 3e240544f34682852dabb1c5058e620aecf539a7..861c6615253bfe3b45e648d9c98a7715d873cbf9 100644 (file)
@@ -1419,6 +1419,7 @@ static int __init nfnetlink_queue_init(void)
 
 cleanup_netlink_notifier:
        netlink_unregister_notifier(&nfqnl_rtnl_notifier);
+       unregister_pernet_subsys(&nfnl_queue_net_ops);
 out:
        return status;
 }