summaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorVeaceslav Falico <vfalico@redhat.com>2014-02-20 12:07:57 +0100
committerDavid S. Miller <davem@davemloft.net>2014-02-20 13:20:55 -0500
commit010d3c3989706d800ae72253773fa6537cc9f74c (patch)
treebc10b84b5f84cd00b934dcb113bee0a76b87d3d9 /net/wireless/reg.c
parenta1eabb0178bcef8eee6286bc646b66e23f4f77ea (diff)
downloadlinux-stable-010d3c3989706d800ae72253773fa6537cc9f74c.tar.gz
linux-stable-010d3c3989706d800ae72253773fa6537cc9f74c.tar.bz2
linux-stable-010d3c3989706d800ae72253773fa6537cc9f74c.zip
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 <dingtianhong@huawei.com> Fixes: aeea64a ("bonding: don't trust arp requests unless active slave really works") CC: Jay Vosburgh <fubar@us.ibm.com> CC: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Veaceslav Falico <vfalico@redhat.com> Acked-by: Ding Tianhong <dingtianhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/wireless/reg.c')
0 files changed, 0 insertions, 0 deletions