Messages in this thread | | | Date | Tue, 18 Dec 2012 21:05:07 +0900 | From | YOSHIFUJI Hideaki <> | Subject | Re: [IPv6] crashed when __ip6_del_rt() |
| |
stanley zhou wrote:
> when call write_lock_bh() table is null cause crash in __ip6_del_rt(). > kernel version is 2.6.30.10 : > static int __ip6_del_rt(struct rt6_info *rt, struct nl_info *info) > { > int err; > struct fib6_table *table; > struct net *net = dev_net(rt->rt6i_dev); > > if (rt == net->ipv6.ip6_null_entry) { > +++err = -ENOENT; > +++goto out; > --- return -ENOENT; > } > > table = rt->rt6i_table; > write_lock_bh(&table->tb6_lock); > err = fib6_del(rt, info); > write_unlock_bh(&table->tb6_lock); > +++out: > dst_release(&rt->u.dst); > return err; > } >
I think this is what commit 6825a26c ("ipv6: release reference of ip6_null_entry's dst entry in __ip6_del_rt") by Gao feng <gaofeng@cn.fujitsu.com> does, which is already in v3.7.
Are you suggesting that we should have this in -stable tree as well?
--yoshfuji
| |