Loading net/netfilter/nf_tables_netdev.c +13 −5 Original line number Diff line number Diff line Loading @@ -151,13 +151,21 @@ static int __init nf_tables_netdev_init(void) nft_register_chain_type(&nft_filter_chain_netdev); ret = register_pernet_subsys(&nf_tables_netdev_net_ops); if (ret < 0) { if (ret) goto err1; ret = register_netdevice_notifier(&nf_tables_netdev_notifier); if (ret) goto err2; return 0; err2: unregister_pernet_subsys(&nf_tables_netdev_net_ops); err1: nft_unregister_chain_type(&nft_filter_chain_netdev); return ret; } register_netdevice_notifier(&nf_tables_netdev_notifier); return 0; } static void __exit nf_tables_netdev_exit(void) { Loading net/netfilter/nfnetlink_queue.c +8 −1 Original line number Diff line number Diff line Loading @@ -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); Loading net/netfilter/xt_TEE.c +7 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,8 @@ static int tee_tg_check(const struct xt_tgchk_param *par) return -EINVAL; if (info->oif[0]) { int ret; if (info->oif[sizeof(info->oif)-1] != '\0') return -EINVAL; Loading @@ -101,7 +103,11 @@ static int tee_tg_check(const struct xt_tgchk_param *par) priv->notifier.notifier_call = tee_netdev_event; info->priv = priv; register_netdevice_notifier(&priv->notifier); ret = register_netdevice_notifier(&priv->notifier); if (ret) { kfree(priv); return ret; } } else info->priv = NULL; Loading Loading
net/netfilter/nf_tables_netdev.c +13 −5 Original line number Diff line number Diff line Loading @@ -151,13 +151,21 @@ static int __init nf_tables_netdev_init(void) nft_register_chain_type(&nft_filter_chain_netdev); ret = register_pernet_subsys(&nf_tables_netdev_net_ops); if (ret < 0) { if (ret) goto err1; ret = register_netdevice_notifier(&nf_tables_netdev_notifier); if (ret) goto err2; return 0; err2: unregister_pernet_subsys(&nf_tables_netdev_net_ops); err1: nft_unregister_chain_type(&nft_filter_chain_netdev); return ret; } register_netdevice_notifier(&nf_tables_netdev_notifier); return 0; } static void __exit nf_tables_netdev_exit(void) { Loading
net/netfilter/nfnetlink_queue.c +8 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
net/netfilter/xt_TEE.c +7 −1 Original line number Diff line number Diff line Loading @@ -89,6 +89,8 @@ static int tee_tg_check(const struct xt_tgchk_param *par) return -EINVAL; if (info->oif[0]) { int ret; if (info->oif[sizeof(info->oif)-1] != '\0') return -EINVAL; Loading @@ -101,7 +103,11 @@ static int tee_tg_check(const struct xt_tgchk_param *par) priv->notifier.notifier_call = tee_netdev_event; info->priv = priv; register_netdevice_notifier(&priv->notifier); ret = register_netdevice_notifier(&priv->notifier); if (ret) { kfree(priv); return ret; } } else info->priv = NULL; Loading