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>