]> Pileus Git - ~andy/linux/blobdiff - net/ipv4/netfilter/nf_tables_ipv4.c
netfilter: nf_tables: fix error path in the init functions
[~andy/linux] / net / ipv4 / netfilter / nf_tables_ipv4.c
index fec163a6ac38fe8716c865f3bb6eaec8fd63476f..6820c8c40842170039cfad8645ca72d88508daa1 100644 (file)
@@ -105,8 +105,14 @@ static const struct nf_chain_type filter_ipv4 = {
 
 static int __init nf_tables_ipv4_init(void)
 {
+       int ret;
+
        nft_register_chain_type(&filter_ipv4);
-       return register_pernet_subsys(&nf_tables_ipv4_net_ops);
+       ret = register_pernet_subsys(&nf_tables_ipv4_net_ops);
+       if (ret < 0)
+               nft_unregister_chain_type(&filter_ipv4);
+
+       return ret;
 }
 
 static void __exit nf_tables_ipv4_exit(void)