Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[powerpc.git] / net / ipv4 / netfilter / arptable_filter.c
index d0d379c..d7c472f 100644 (file)
@@ -181,33 +181,26 @@ static struct nf_hook_ops arpt_ops[] = {
 
 static int __init arptable_filter_init(void)
 {
-       int ret, i;
+       int ret;
 
        /* Register table */
        ret = arpt_register_table(&packet_filter, &initial_table.repl);
        if (ret < 0)
                return ret;
 
-       for (i = 0; i < ARRAY_SIZE(arpt_ops); i++)
-               if ((ret = nf_register_hook(&arpt_ops[i])) < 0)
-                       goto cleanup_hooks;
+       ret = nf_register_hooks(arpt_ops, ARRAY_SIZE(arpt_ops));
+       if (ret < 0)
+               goto cleanup_table;
        return ret;
 
-cleanup_hooks:
-       while (--i >= 0)
-               nf_unregister_hook(&arpt_ops[i]);
-
+cleanup_table:
        arpt_unregister_table(&packet_filter);
        return ret;
 }
 
 static void __exit arptable_filter_fini(void)
 {
-       unsigned int i;
-
-       for (i = 0; i < ARRAY_SIZE(arpt_ops); i++)
-               nf_unregister_hook(&arpt_ops[i]);
-
+       nf_unregister_hooks(arpt_ops, ARRAY_SIZE(arpt_ops));
        arpt_unregister_table(&packet_filter);
 }