kernel_samsung_a53x/net/wireless
Johannes Berg 7f8f7aa2eb wifi: cfg80211: make hash table duplicates more survivable
[ Upstream commit 7f12e26a194d0043441f870708093d9c2c3bad7d ]

Jiazi Li reported that they occasionally see hash table duplicates
as evidenced by the WARN_ON() in rb_insert_bss() in this code.  It
isn't clear how that happens, nor have I been able to reproduce it,
but if it does happen, the kernel crashes later, when it tries to
unhash the entry that's now not hashed.

Try to make this situation more survivable by removing the BSS from
the list(s) as well, that way it's fully leaked here (as had been
the intent in the hash insert error path), and no longer reachable
through the list(s) so it shouldn't be unhashed again later.

Link: https://lore.kernel.org/r/20231026013528.GA24122@Jiazi.Li
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://msgid.link/20240607181726.36835-2-johannes@sipsolutions.net
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-23 23:20:58 +01:00
..
certs wifi: cfg80211: fix certs build to not depend on file order 2024-11-18 12:12:00 +01:00
ap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
chan.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
core.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
debugfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ethtool.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ibss.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lib80211.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lib80211_crypt_ccmp.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lib80211_crypt_tkip.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
lib80211_crypt_wep.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mesh.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mlme.c Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
nl80211.c wifi: nl80211: don't give key data to userspace 2024-11-23 23:20:23 +01:00
nl80211.h Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
ocb.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
of.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pmsr.c wifi: cfg80211: pmsr: use correct nla_get_uX functions 2024-11-19 14:19:00 +01:00
radiotap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
rdev-ops.h Backport mac80211 patches from linux-6.1.y 2024-06-15 16:29:20 -03:00
reg.c net: reg: Unlock all channels 2024-06-15 16:29:21 -03:00
reg.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
scan.c wifi: cfg80211: make hash table duplicates more survivable 2024-11-23 23:20:58 +01:00
sme.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
trace.h wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class 2024-11-19 12:26:51 +01:00
util.c wifi: cfg80211: handle 2x996 RU allocation in cfg80211_calculate_bitrate_he() 2024-11-23 23:20:07 +01:00
wext-compat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wext-compat.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wext-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wext-priv.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wext-proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wext-sme.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
wext-spy.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00