bonding: use rcu_dereference_rtnl when get bonding active slave
authorHangbin Liu <liuhangbin@gmail.com>
Fri, 21 Jan 2022 08:25:18 +0000 (16:25 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 24 Jan 2022 11:57:38 +0000 (11:57 +0000)
commitaa6034678e873db8bd5c5a4b73f8b88c469374d6
tree50bfaf343502a1188d1ac62121e1568d99b1bf2e
parent2148927e6ed43a1667baf7c2ae3e0e05a44b51a0
bonding: use rcu_dereference_rtnl when get bonding active slave

bond_option_active_slave_get_rcu() should not be used in rtnl_mutex as it
use rcu_dereference(). Replace to rcu_dereference_rtnl() so we also can use
this function in rtnl protected context.

With this update, we can rmeove the rcu_read_lock/unlock in
bonding .ndo_eth_ioctl and .get_ts_info.

Reported-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Fixes: 94dd016ae538 ("bond: pass get_ts_info and SIOC[SG]HWTSTAMP ioctl to active device")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c
include/net/bonding.h