On 8/10/17 8:52 AM, Florian Westphal wrote:
> David Ahern reports following splat:
>  RTNL: assertion failed at net/core/dev.c (5717)
>  netdev_master_upper_dev_get+0x5f/0x70
>  if_nlmsg_size+0x158/0x240
>  rtnl_calcit.isra.26+0xa3/0xf0
> 
> rtnl_link_get_slave_info_data_size currently assumes RTNL protection, but
> there appears to be no hard requirement for this, so use rcu instead.
> 
> At the time of this writing, there are three 'get_slave_size' callbacks
> (now invoked under rcu): bond_get_slave_size, vrf_get_slave_size and
> br_port_get_slave_size, all return constant only (i.e. they don't sleep).
> 
> Fixes: 6853dd488119 ("rtnetlink: protect handler table with rcu")
> Reported-by: David Ahern <dsah...@gmail.com>
> Signed-off-by: Florian Westphal <f...@strlen.de>
> ---
>  net/core/rtnetlink.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)

Acked-by: David Ahern <dsah...@gmail.com>

Reply via email to