Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -94,14 +94,10 @@ static int __init iptable_filter_init(void)
	filter_ops = xt_hook_link(&packet_filter, iptable_filter_hook);
	if (IS_ERR(filter_ops)) {
		ret = PTR_ERR(filter_ops);
		goto cleanup_table;
		unregister_pernet_subsys(&iptable_filter_net_ops);
	}

	return ret;

 cleanup_table:
	unregister_pernet_subsys(&iptable_filter_net_ops);
	return ret;
}

static void __exit iptable_filter_fini(void)
+1 −5
Original line number Diff line number Diff line
@@ -129,14 +129,10 @@ static int __init iptable_mangle_init(void)
	mangle_ops = xt_hook_link(&packet_mangler, iptable_mangle_hook);
	if (IS_ERR(mangle_ops)) {
		ret = PTR_ERR(mangle_ops);
		goto cleanup_table;
		unregister_pernet_subsys(&iptable_mangle_net_ops);
	}

	return ret;

 cleanup_table:
	unregister_pernet_subsys(&iptable_mangle_net_ops);
	return ret;
}

static void __exit iptable_mangle_fini(void)
+1 −5
Original line number Diff line number Diff line
@@ -73,14 +73,10 @@ static int __init iptable_raw_init(void)
	rawtable_ops = xt_hook_link(&packet_raw, iptable_raw_hook);
	if (IS_ERR(rawtable_ops)) {
		ret = PTR_ERR(rawtable_ops);
		goto cleanup_table;
		unregister_pernet_subsys(&iptable_raw_net_ops);
	}

	return ret;

 cleanup_table:
	unregister_pernet_subsys(&iptable_raw_net_ops);
	return ret;
}

static void __exit iptable_raw_fini(void)