]> 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)
commita8916e2761f20e264c15f6eb1d0c81211cea534d
tree87a38f54c15b523c1f8d024b7164d1397a7603bb
parent0259bbdb512b1a7e9c187cfb64fe505640093363
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