bonding: add missed __rcu annotation for curr_active_slave
authorHangbin Liu <liuhangbin@gmail.com>
Mon, 12 Dec 2022 03:56:45 +0000 (11:56 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:53 +0000 (13:32 +0100)
[ Upstream commit 3d0b738fc5adf9f380702ac1424672e4b32c3781 ]

There is one direct accesses to bond->curr_active_slave in
bond_miimon_commit(). Protected it by rcu_access_pointer()
since the later of this function also use this one.

Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: e95cc44763a4 ("bonding: do failover when high prio link up")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/bonding/bond_main.c

index 29d0a64..af35a46 100644 (file)
@@ -2698,7 +2698,7 @@ static void bond_miimon_commit(struct bonding *bond)
 
                        bond_miimon_link_change(bond, slave, BOND_LINK_UP);
 
-                       if (!bond->curr_active_slave || slave == primary)
+                       if (!rcu_access_pointer(bond->curr_active_slave) || slave == primary)
                                goto do_failover;
 
                        continue;