aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/nfnetlink_queue.c
diff options
context:
space:
mode:
authorGao Feng <fgao@ikuai8.com>2016-09-09 23:25:09 +0800
committerPablo Neira Ayuso <pablo@netfilter.org>2016-09-12 19:54:43 +0200
commit4e6577de71803142d01e374cf15664af0388799a (patch)
tree31cc9b67b0efe071ad9ea072e83dd2fc74c07a3d /net/netfilter/nfnetlink_queue.c
parentnetfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return logic (diff)
downloadlinux-dev-4e6577de71803142d01e374cf15664af0388799a.tar.xz
linux-dev-4e6577de71803142d01e374cf15664af0388799a.zip
netfilter: Add the missed return value check of register_netdevice_notifier
There are some codes of netfilter module which did not check the return value of register_netdevice_notifier. Add the checks now. Signed-off-by: Gao Feng <fgao@ikuai8.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nfnetlink_queue.c')
-rw-r--r--net/netfilter/nfnetlink_queue.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c
index f49f45081acb..808da34f94cd 100644
--- a/net/netfilter/nfnetlink_queue.c
+++ b/net/netfilter/nfnetlink_queue.c
@@ -1522,9 +1522,16 @@ static int __init nfnetlink_queue_init(void)
goto cleanup_netlink_notifier;
}
- register_netdevice_notifier(&nfqnl_dev_notifier);
+ status = register_netdevice_notifier(&nfqnl_dev_notifier);
+ if (status < 0) {
+ pr_err("nf_queue: failed to register netdevice notifier\n");
+ goto cleanup_netlink_subsys;
+ }
+
return status;
+cleanup_netlink_subsys:
+ nfnetlink_subsys_unregister(&nfqnl_subsys);
cleanup_netlink_notifier:
netlink_unregister_notifier(&nfqnl_rtnl_notifier);
unregister_pernet_subsys(&nfnl_queue_net_ops);