From: Wei Wang <wei...@google.com> Date: Mon, 8 Jan 2018 10:34:00 -0800
> From: Wei Wang <wei...@google.com> > > In the current code, when creating a new fib6 table, tb6_root.leaf gets > initialized to net->ipv6.ip6_null_entry. > If a default route is being added with rt->rt6i_metric = 0xffffffff, > fib6_add() will add this route after net->ipv6.ip6_null_entry. As > null_entry is shared, it could cause problem. > > In order to fix it, set fn->leaf to NULL before calling > fib6_add_rt2node() when trying to add the first default route. > And reset fn->leaf to null_entry when adding fails or when deleting the > last default route. > > syzkaller reported the following issue which is fixed by this commit: ... > Reported-by: syzbot <syzkal...@googlegroups.com> > Fixes: 66f5d6ce53e6 ("ipv6: replace rwlock with rcu and spinlock in > fib6_table") > Signed-off-by: Wei Wang <wei...@google.com> Applied, thank you.