Commit 90efbed1 authored by Jean Sacren's avatar Jean Sacren Committed by Pablo Neira Ayuso

netfilter: remove unnecessary goto statement for error recovery

Usually it's a good practice to use goto statement for error recovery
when initializing the module. This approach could be an overkill if:

 1) there is only one fail case;
 2) success and failure use the same return statement.

For a cleaner approach, remove the unnecessary goto statement and
directly implement error recovery.
Signed-off-by: default avatarJean Sacren <sakiwit@gmail.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 6705e867
...@@ -94,14 +94,10 @@ static int __init iptable_filter_init(void) ...@@ -94,14 +94,10 @@ static int __init iptable_filter_init(void)
filter_ops = xt_hook_link(&packet_filter, iptable_filter_hook); filter_ops = xt_hook_link(&packet_filter, iptable_filter_hook);
if (IS_ERR(filter_ops)) { if (IS_ERR(filter_ops)) {
ret = PTR_ERR(filter_ops); ret = PTR_ERR(filter_ops);
goto cleanup_table; unregister_pernet_subsys(&iptable_filter_net_ops);
} }
return ret; return ret;
cleanup_table:
unregister_pernet_subsys(&iptable_filter_net_ops);
return ret;
} }
static void __exit iptable_filter_fini(void) static void __exit iptable_filter_fini(void)
......
...@@ -129,14 +129,10 @@ static int __init iptable_mangle_init(void) ...@@ -129,14 +129,10 @@ static int __init iptable_mangle_init(void)
mangle_ops = xt_hook_link(&packet_mangler, iptable_mangle_hook); mangle_ops = xt_hook_link(&packet_mangler, iptable_mangle_hook);
if (IS_ERR(mangle_ops)) { if (IS_ERR(mangle_ops)) {
ret = PTR_ERR(mangle_ops); ret = PTR_ERR(mangle_ops);
goto cleanup_table; unregister_pernet_subsys(&iptable_mangle_net_ops);
} }
return ret; return ret;
cleanup_table:
unregister_pernet_subsys(&iptable_mangle_net_ops);
return ret;
} }
static void __exit iptable_mangle_fini(void) static void __exit iptable_mangle_fini(void)
......
...@@ -73,14 +73,10 @@ static int __init iptable_raw_init(void) ...@@ -73,14 +73,10 @@ static int __init iptable_raw_init(void)
rawtable_ops = xt_hook_link(&packet_raw, iptable_raw_hook); rawtable_ops = xt_hook_link(&packet_raw, iptable_raw_hook);
if (IS_ERR(rawtable_ops)) { if (IS_ERR(rawtable_ops)) {
ret = PTR_ERR(rawtable_ops); ret = PTR_ERR(rawtable_ops);
goto cleanup_table; unregister_pernet_subsys(&iptable_raw_net_ops);
} }
return ret; return ret;
cleanup_table:
unregister_pernet_subsys(&iptable_raw_net_ops);
return ret;
} }
static void __exit iptable_raw_fini(void) static void __exit iptable_raw_fini(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment