linux/net/wireless
Kees Cook 838c7b8f1f wifi: nl80211: Avoid address calculations via out of bounds array indexing
Before request->channels[] can be used, request->n_channels must be set.
Additionally, address calculations for memory after the "channels" array
need to be calculated from the allocation base ("request") rather than
via the first "out of bounds" index of "channels", otherwise run-time
bounds checking will throw a warning.

Reported-by: Nathan Chancellor <nathan@kernel.org>
Fixes: e3eac9f32e ("wifi: cfg80211: Annotate struct cfg80211_scan_request with __counted_by")
Signed-off-by: Kees Cook <keescook@chromium.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Link: https://msgid.link/20240424220057.work.819-kees@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-05-03 09:20:26 +02:00
..
certs wifi: cfg80211: fix certs build to not depend on file order 2023-12-14 09:11:51 +01:00
tests wifi: cfg80211: allow cfg80211_defragment_element() without output 2024-03-04 14:33:51 +01:00
.gitignore
ap.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
chan.c wifi: cfg80211: optionally support monitor on disabled channels 2024-02-12 21:22:48 +01:00
core.c wifi: cfg80211: fix wiphy delayed work queueing 2024-01-26 10:43:32 +01:00
core.h wifi: cfg80211: optionally support monitor on disabled channels 2024-02-12 21:22:48 +01:00
debugfs.c wifi: cfg80211: add locked debugfs wrappers 2023-11-27 11:24:58 +01:00
debugfs.h
ethtool.c
ibss.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
Kconfig wifi: cfg80211/mac80211: remove dependency on non-existing option 2024-01-18 14:50:01 +01:00
lib80211.c
lib80211_crypt_ccmp.c
lib80211_crypt_tkip.c wifi: lib80211: remove unused variables iv32 and iv16 2023-09-13 12:33:58 +02:00
lib80211_crypt_wep.c
Makefile wifi: cfg80211: sort certificates in build 2023-12-14 12:04:21 +01:00
mesh.c wifi: cfg80211: remove scan_width support 2023-09-13 11:10:50 +02:00
mlme.c wifi: cfg80211: validate MLO connections better 2024-01-26 09:39:49 +01:00
nl80211.c wifi: nl80211: Avoid address calculations via out of bounds array indexing 2024-05-03 09:20:26 +02:00
nl80211.h wifi: cfg80211: make RX assoc data const 2023-12-06 11:50:28 +01:00
ocb.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
of.c
pmsr.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
radiotap.c
rdev-ops.h wifi: cfg80211: Replace ENOTSUPP with EOPNOTSUPP 2023-12-12 10:37:01 +01:00
reg.c wifi: cfg80211: Add KHZ_PER_GHZ to units.h and reuse 2024-02-21 15:19:03 +01:00
reg.h wifi: cfg80211: Schedule regulatory check on BSS STA channel change 2023-12-21 20:35:14 +01:00
scan.c wifi: cfg80211: allow cfg80211_defragment_element() without output 2024-03-04 14:33:51 +01:00
sme.c wifi: cfg80211: validate MLO connections better 2024-01-26 09:39:49 +01:00
sysfs.c wifi: cfg80211: add flush functions for wiphy work 2023-09-11 11:27:19 +02:00
sysfs.h
trace.c
trace.h wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class 2024-04-08 20:14:08 +02:00
util.c wifi: cfg80211: check A-MSDU format more carefully 2024-03-04 14:28:37 +01:00
wext-compat.c wifi: cfg80211: wext: convert return value to kernel-doc 2023-10-23 11:45:17 +02:00
wext-compat.h
wext-core.c wifi: cfg80211: add a flag to disable wireless extensions 2024-03-25 15:23:06 +01:00
wext-priv.c
wext-proc.c
wext-sme.c wifi: cfg80211: remove wdev mutex 2023-09-11 11:27:23 +02:00
wext-spy.c