]> Pileus Git - ~andy/linux/blobdiff - net/ipv6/fib6_rules.c
[SCTP]: Discard unauthenticated ASCONF and ASCONF ACK chunks
[~andy/linux] / net / ipv6 / fib6_rules.c
index 428c6b0e26d8e7238530e6b3d1c886f5c398af98..9ce2e0a6748a75a0a1947faa622b9d2f8853cf36 100644 (file)
@@ -265,10 +265,23 @@ static int __init fib6_default_rules_init(void)
        return 0;
 }
 
-void __init fib6_rules_init(void)
+int __init fib6_rules_init(void)
 {
-       BUG_ON(fib6_default_rules_init());
-       fib_rules_register(&fib6_rules_ops);
+       int ret;
+
+       ret = fib6_default_rules_init();
+       if (ret)
+               goto out;
+
+       ret = fib_rules_register(&fib6_rules_ops);
+       if (ret)
+               goto out_default_rules_init;
+out:
+       return ret;
+
+out_default_rules_init:
+       fib_rules_cleanup_ops(&fib6_rules_ops);
+       goto out;
 }
 
 void fib6_rules_cleanup(void)