]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: protect port for bond_3ad_handle_link_change()
authordingtianhong <dingtianhong@huawei.com>
Fri, 13 Dec 2013 09:29:29 +0000 (17:29 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Dec 2013 21:52:26 +0000 (16:52 -0500)
commitd5dcb9f6cb468fa4e60641dd193c3a6ebbe7c64e
tree87a38f54c15b523c1f8d024b7164d1397a7603bb
parent386051d2b1993eef500a04553716f7ccce2220bf
bonding: protect port for bond_3ad_handle_link_change()

The bond_3ad_handle_link_change is called with RTNL only,
and the function will modify the port's information with
no further locking, it will not mutex against bond state
machine and incoming LACPDU which do not hold RTNL, So I
add __get_state_machine_lock to protect the port.

But it is not a critical bug, it exist since day one, and till
now it has never been hit and reported, because changes to
speed is very rare, and will not occur critical problem.

The comments in the function is very old, cleanup it and
add a new pr_debug to debug the port message.

Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_3ad.c