Re: RTNL: assertion failed at net/ipv6/addrconf.c (1699)
From: Hannes Frederic Sowa <hidden>
Date: 2014-09-02 17:58:07
Also in:
lkml
Hi Cong, On Tue, Sep 2, 2014, at 18:50, Cong Wang wrote:
On Fri, Aug 29, 2014 at 6:51 PM, Hannes Frederic Sowa [off-list ref] wrote:quoted
Also rtnl_lock and rcu_read_lock compose in that order, so we don't need to change dev_get_by_flags, but as this is the only user it sure is possible. RCU locked version is just easier composeable, so I wouldn't touch that if needed in future, just also take rcu lock as before.There is no point to keep RCU read lock if we have rtnl lock, I don't know why you don't want to change dev_get_by_flags(), it is pretty easy to do since it only has one caller.
I definitely don't have a problem cleaning this up in net-next. I wanted a minimal patch for stable because I didn't check history where and when additional users of dev_get_by_flags_rcu were removed.
Even if you really need RCU in future, you are always welcome to bring it back when you do, sorry we should never be blocked by code NOT merged yet.quoted
Also we should move ASSERT_RTNL checks from addrconf_join_solict to ipv6_dev_mc_inc/dec.Make it another patch.
It is just one logical change, moving ASSERT_RTNLs to places where they better catch invalid callstacks. Bye, Hannes