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

Commit 85b99092 authored by WANG Cong's avatar WANG Cong Committed by David S. Miller
Browse files

fib6: install fib6 ops in the last step



We should not commit the new ops until we finish
all the setup, otherwise we have to NULL it on failure.

Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7145074b
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -299,19 +299,16 @@ static int __net_init fib6_rules_net_init(struct net *net)
	ops = fib_rules_register(&fib6_rules_ops_template, net);
	if (IS_ERR(ops))
		return PTR_ERR(ops);
	net->ipv6.fib6_rules_ops = ops;


	err = fib_default_rule_add(net->ipv6.fib6_rules_ops, 0,
				   RT6_TABLE_LOCAL, 0);
	err = fib_default_rule_add(ops, 0, RT6_TABLE_LOCAL, 0);
	if (err)
		goto out_fib6_rules_ops;

	err = fib_default_rule_add(net->ipv6.fib6_rules_ops,
				   0x7FFE, RT6_TABLE_MAIN, 0);
	err = fib_default_rule_add(ops, 0x7FFE, RT6_TABLE_MAIN, 0);
	if (err)
		goto out_fib6_rules_ops;

	net->ipv6.fib6_rules_ops = ops;
out:
	return err;