diff options
| author | Veaceslav Falico <[email protected]> | 2014-02-20 12:07:57 +0100 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2014-02-20 13:20:55 -0500 |
| commit | 010d3c3989706d800ae72253773fa6537cc9f74c (patch) | |
| tree | bc10b84b5f84cd00b934dcb113bee0a76b87d3d9 /include/linux | |
| parent | a1eabb0178bcef8eee6286bc646b66e23f4f77ea (diff) | |
bonding: fix bond_arp_rcv() race of curr_active_slave
bond->curr_active_slave can be changed between its deferences, even to
NULL, and thus we might panic.
We're always holding the rcu (rx_handler->bond_handle_frame()->bond_arp_rcv())
so fix this by rcu_dereferencing() it and using the saved.
Reported-by: Ding Tianhong <[email protected]>
Fixes: aeea64a ("bonding: don't trust arp requests unless active slave really works")
CC: Jay Vosburgh <[email protected]>
CC: Andy Gospodarek <[email protected]>
Signed-off-by: Veaceslav Falico <[email protected]>
Acked-by: Ding Tianhong <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions