linux_dsm_epyc7002/drivers/net/wireless/b43
Michael Büsch a75d46a4f4 b43: Fix locking FIXME in beacon update top half
b43 has a FIXME about locking in the mac80211 set-beacon-int callback for a long time.
As it turns out there actually is a tiny race window that could result in
a use-after-free bug of the 'current_beacon' memory.
Nobody ever reported this, so it probably never happened.

Fix this by adding a spin lock that protects the current_beacon access.
We must not be in atomic context while accessing hardware (due to SDIO),
so the beacon update bottom half has to clone the skb and release the lock
before writing it to hardware.

Let's all hope that this stops the troll who is trying to submit incorrect
fixes for this issue repeatedly.
And let's hope that I'm not a troll, too, who just hides even more evil code
in an even more complex attempt to fix the issue.

Signed-off-by: Michael Buesch <m@bues.ch>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2015-01-29 10:28:05 +02:00
..
b43.h b43: Fix locking FIXME in beacon update top half 2015-01-29 10:28:05 +02:00
bus.c b43: flush some writes on Broadcom MIPS SoCs 2014-08-25 16:00:42 -04:00
bus.h b43: flush some writes on Broadcom MIPS SoCs 2014-08-25 16:00:42 -04:00
debugfs.c
debugfs.h b43: return true / false instead of numbers in functions which return bool value 2014-02-24 15:21:54 -05:00
dma.c DMA-API: net: b43: replace dma_set_mask()+dma_set_coherent_mask() with new helper 2013-09-21 21:02:22 +01:00
dma.h B43: Handle DMA RX descriptor underrun 2013-05-08 17:15:06 -04:00
Kconfig b43: update PHY descriptions in Kconfig 2014-07-31 13:45:30 -04:00
leds.c
leds.h
lo.c
lo.h
main.c b43: Fix locking FIXME in beacon update top half 2015-01-29 10:28:05 +02:00
main.h b43: Implement PHY PLL reset 2014-09-15 15:00:53 -04:00
Makefile b43: implement PPR (Power Per Rate) management/API 2014-08-25 16:00:43 -04:00
pcmcia.c
pcmcia.h
phy_a.c b43: flush some writes on Broadcom MIPS SoCs 2014-08-25 16:00:42 -04:00
phy_a.h b43: remove leftover code from old devices support 2014-06-20 14:13:45 -04:00
phy_common.c b43: fix NULL pointer dereference in b43_phy_copy() 2014-11-10 13:10:24 -05:00
phy_common.h b43: PHY: drop channel_type (we can get this info from chandef) 2014-06-19 15:49:14 -04:00
phy_g.c b43: flush some writes on Broadcom MIPS SoCs 2014-08-25 16:00:42 -04:00
phy_g.h
phy_ht.c b43: Implement PHY PLL reset 2014-09-15 15:00:53 -04:00
phy_ht.h b43: HT-PHY: Implement band switching 2014-09-15 15:00:50 -04:00
phy_lcn.c b43: flush some writes on Broadcom MIPS SoCs 2014-08-25 16:00:42 -04:00
phy_lcn.h
phy_lp.c b43: flush some writes on Broadcom MIPS SoCs 2014-08-25 16:00:42 -04:00
phy_lp.h
phy_n.c b43: Implement PHY PLL reset 2014-09-15 15:00:53 -04:00
phy_n.h b43: N-PHY: support setting custom TX power 2014-08-25 16:00:43 -04:00
pio.c b43: return true / false instead of numbers in functions which return bool value 2014-02-24 15:21:54 -05:00
pio.h
ppr.c b43: implement PPR (Power Per Rate) management/API 2014-08-25 16:00:43 -04:00
ppr.h b43: implement PPR (Power Per Rate) management/API 2014-08-25 16:00:43 -04:00
radio_2055.c
radio_2055.h
radio_2056.c b43: N-PHY: add missing calib values for radio 0x2026 rev 11 2014-05-22 14:04:37 -04:00
radio_2056.h
radio_2057.c b43: N-PHY: add tables for radio 0x2057 rev 14 2014-07-18 13:45:25 -04:00
radio_2057.h b43; N-PHY: write most of the missing code for revs 7+ 2014-07-15 15:51:39 -04:00
radio_2059.c b43: HT-PHY: Update values for frequency calibration 2014-09-15 15:00:50 -04:00
radio_2059.h b43: HT-PHY: Complete radio init (add missing entries) 2014-09-11 15:27:35 -04:00
rfkill.c
rfkill.h
sdio.c
sdio.h
sysfs.c net: Replace min macro with min_t 2014-03-03 15:35:54 -05:00
sysfs.h
tables_lpphy.c
tables_lpphy.h
tables_nphy.c b43: N-PHY: add RF power tables for radio 0x2057 revs 9 & 14 2014-08-25 16:00:43 -04:00
tables_nphy.h b43: N-PHY: add RF power tables for radio 0x2057 revs 9 & 14 2014-08-25 16:00:43 -04:00
tables_phy_ht.c
tables_phy_ht.h
tables_phy_lcn.c
tables_phy_lcn.h
tables.c
tables.h
wa.c b43: G-PHY: fix random mistakes to match specs 2014-04-22 15:06:32 -04:00
wa.h
xmit.c b43: report correct rate to mac80211 for 5 GHz packets 2014-07-23 13:08:35 -04:00
xmit.h b43: update some transmit header constants 2014-09-15 15:00:54 -04:00