On Thu, Aug 10, 2017 at 04:52:57PM +0200, Florian Westphal wrote:
> Ido reports a rcu splat in __rtnl_register.
> The splat is correct; as rtnl_register doesn't grab any logs
> and doesn't use rcu locks either. It has always been like this.
> handler families are not registered in parallel so there are no
> races wrt. the kmalloc ordering.
> The only reason to use rcu_dereference in the first place was to
> avoid sparse from complaining about this.
> Thus this switches to _raw() to not have rcu checks here.
> The alternative is to add rtnl locking to register/unregister,
> however, I don't see a compelling reason to do so as this has been
> lockless for the past twenty years or so.
> Fixes: 6853dd4881 ("rtnetlink: protect handler table with rcu")
> Reported-by: Ido Schimmel <ido...@idosch.org>
> Signed-off-by: Florian Westphal <f...@strlen.de>
Tested-by: Ido Schimmel <ido...@mellanox.com>