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

Commit e40f51a3 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by David S. Miller
Browse files

netfilter: ebtables: use nf_register_hooks()

parent cdec7e50
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -93,28 +93,20 @@ static struct nf_hook_ops ebt_ops_filter[] __read_mostly = {

static int __init ebtable_filter_init(void)
{
	int i, j, ret;
	int ret;

	ret = ebt_register_table(&frame_filter);
	if (ret < 0)
		return ret;
	for (i = 0; i < ARRAY_SIZE(ebt_ops_filter); i++)
		if ((ret = nf_register_hook(&ebt_ops_filter[i])) < 0)
			goto cleanup;
	return ret;
cleanup:
	for (j = 0; j < i; j++)
		nf_unregister_hook(&ebt_ops_filter[j]);
	ret = nf_register_hooks(ebt_ops_filter, ARRAY_SIZE(ebt_ops_filter));
	if (ret < 0)
		ebt_unregister_table(&frame_filter);
	return ret;
}

static void __exit ebtable_filter_fini(void)
{
	int i;

	for (i = 0; i < ARRAY_SIZE(ebt_ops_filter); i++)
		nf_unregister_hook(&ebt_ops_filter[i]);
	nf_unregister_hooks(ebt_ops_filter, ARRAY_SIZE(ebt_ops_filter));
	ebt_unregister_table(&frame_filter);
}

+5 −13
Original line number Diff line number Diff line
@@ -100,28 +100,20 @@ static struct nf_hook_ops ebt_ops_nat[] __read_mostly = {

static int __init ebtable_nat_init(void)
{
	int i, ret, j;
	int ret;

	ret = ebt_register_table(&frame_nat);
	if (ret < 0)
		return ret;
	for (i = 0; i < ARRAY_SIZE(ebt_ops_nat); i++)
		if ((ret = nf_register_hook(&ebt_ops_nat[i])) < 0)
			goto cleanup;
	return ret;
cleanup:
	for (j = 0; j < i; j++)
		nf_unregister_hook(&ebt_ops_nat[j]);
	ret = nf_register_hooks(ebt_ops_nat, ARRAY_SIZE(ebt_ops_nat));
	if (ret < 0)
		ebt_unregister_table(&frame_nat);
	return ret;
}

static void __exit ebtable_nat_fini(void)
{
	int i;

	for (i = 0; i < ARRAY_SIZE(ebt_ops_nat); i++)
		nf_unregister_hook(&ebt_ops_nat[i]);
	nf_unregister_hooks(ebt_ops_nat, ARRAY_SIZE(ebt_ops_nat));
	ebt_unregister_table(&frame_nat);
}