linux/net/mac80211
Sebastian Andrzej Siewior d71a1c9fce net: Use u64_stats_fetch_begin_irq() for stats fetch.
commit 278d3ba615 upstream.

On 32bit-UP u64_stats_fetch_begin() disables only preemption. If the
reader is in preemptible context and the writer side
(u64_stats_update_begin*()) runs in an interrupt context (IRQ or
softirq) then the writer can update the stats during the read operation.
This update remains undetected.

Use u64_stats_fetch_begin_irq() to ensure the stats fetch on 32bit-UP
are not interrupted by a writer. 32bit-SMP remains unaffected by this
change.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Catherine Sullivan <csully@google.com>
Cc: David Awogbemila <awogbemila@google.com>
Cc: Dimitris Michailidis <dmichail@fungible.com>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Hans Ulli Kroll <ulli.kroll@googlemail.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Jeroen de Borst <jeroendb@google.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <simon.horman@corigine.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: oss-drivers@corigine.com
Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-09-08 11:11:40 +02:00
..
aead_api.c mac80211: Check crypto_aead_encrypt for errors 2021-04-10 13:36:08 +02:00
aead_api.h
aes_ccm.h
aes_cmac.c
aes_cmac.h
aes_gcm.h
aes_gmac.c mac80211: Check crypto_aead_encrypt for errors 2021-04-10 13:36:08 +02:00
aes_gmac.h
agg-rx.c mac80211: fix lookup when adding AddBA extension element 2021-12-22 09:30:54 +01:00
agg-tx.c mac80211: refuse aggregations sessions before authorized 2022-03-19 13:44:44 +01:00
airtime.c mac80211: add AQL support for VHT160 tx rates 2020-09-18 11:36:03 +02:00
cfg.c mac80211: fix potential double free on mesh join 2022-03-28 09:57:10 +02:00
chan.c wifi: mac80211: fix use-after-free in chanctx code 2022-06-09 10:21:22 +02:00
debug.h
debugfs_key.c
debugfs_key.h
debugfs_netdev.c
debugfs_netdev.h
debugfs_sta.c
debugfs_sta.h
debugfs.c mac80211: fix incorrect strlen of .write in debugfs 2021-02-07 15:37:15 +01:00
debugfs.h
driver-ops.c mac80211: fix station rate table updates on assoc 2021-02-10 09:29:16 +01:00
driver-ops.h mac80211: mark TX-during-stop for TX in in_reconfig 2021-12-22 09:30:50 +01:00
ethtool.c
fils_aead.c
fils_aead.h
he.c
ht.c
ibss.c wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected 2022-09-08 11:11:40 +02:00
ieee80211_i.h mac80211: upgrade passive scan to active scan on DFS channels after beacon rx 2022-06-09 10:21:26 +02:00
iface.c mac80211: Fix monitor MTU limit so that A-MSDUs get through 2021-09-18 13:40:28 +02:00
Kconfig ath9k: fix build error with LEDS_CLASS=m 2021-02-17 11:02:25 +01:00
key.c mac80211: prevent mixed key and fragment cache attacks 2021-06-03 09:00:29 +02:00
key.h mac80211: prevent mixed key and fragment cache attacks 2021-06-03 09:00:29 +02:00
led.c
led.h
main.c mac80211: bail out if cipher schemes are invalid 2021-05-14 09:50:34 +02:00
Makefile mac80211: initialize last_rate for S1G STAs 2020-10-08 10:40:57 +02:00
mesh_hwmp.c mac80211: fix potential overflow when multiplying to u32 integers 2021-03-04 11:37:32 +01:00
mesh_pathtbl.c mac80211: check return value of rhashtable_init 2021-10-17 10:43:33 +02:00
mesh_plink.c mac80211: fix some more kernel-doc in mesh 2020-09-28 14:36:53 +02:00
mesh_ps.c mac80211: mesh: fix potentially unaligned access 2021-10-06 15:55:52 +02:00
mesh_sync.c
mesh.c mac80211: rename csa counters to countdown counters 2020-08-27 14:12:15 +02:00
mesh.h
michael.c
michael.h
mlme.c mac80211: Reset MBSSID parameters upon connection 2022-05-18 10:23:42 +02:00
ocb.c
offchannel.c mac80211: Inform AP when returning operating channel 2020-09-28 13:18:53 +02:00
pm.c
rate.c mac80211: fix station rate table updates on assoc 2021-02-10 09:29:16 +01:00
rate.h
rc80211_minstrel_debugfs.c
rc80211_minstrel_ht_debugfs.c
rc80211_minstrel_ht.c
rc80211_minstrel_ht.h
rc80211_minstrel.c mac80211: minstrel: fix tx status processing corner case 2020-11-12 11:25:09 +01:00
rc80211_minstrel.h mac80211: minstrel: remove deferred sampling code 2020-11-12 11:24:43 +01:00
rx.c mac80211: fix rx reordering with non explicit / psmp ack policy 2022-05-25 09:18:00 +02:00
s1g.c mac80211: initialize last_rate for S1G STAs 2020-10-08 10:40:57 +02:00
scan.c wifi: mac80211: Fix UAF in ieee80211_scan_rx() 2022-09-08 11:11:40 +02:00
spectmgmt.c mac80211: 160MHz with extended NSS BW in CSA 2021-02-13 13:55:04 +01:00
sta_info.c net: Use u64_stats_fetch_begin_irq() for stats fetch. 2022-09-08 11:11:40 +02:00
sta_info.h mac80211: fix regression in SSN handling of addba tx 2021-12-22 09:30:50 +01:00
status.c mac80211: fix memory leak on filtered powersave frames 2020-11-12 11:23:58 +01:00
tdls.c
tkip.c
tkip.h
trace_msg.h
trace.c
trace.h mac80211: notify the driver when a sta uses 4-address mode 2020-09-18 12:16:16 +02:00
tx.c mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap 2021-10-06 15:55:51 +02:00
util.c mac80211: validate extended element ID is present 2021-12-22 09:30:50 +01:00
vht.c mac80211: don't set set TDLS STA bandwidth wider than possible 2020-12-30 11:53:50 +01:00
wep.c
wep.h
wme.c wifi: mac80211: fix queue selection for mesh/OCB interfaces 2022-07-21 21:20:00 +02:00
wme.h
wpa.c mac80211: fix use-after-free in CCMP/GCMP RX 2021-10-06 15:55:48 +02:00
wpa.h