linux/net/mac80211
Gustavo A. R. Silva 9118796dfa wifi: mac80211: Add __counted_by for struct ieee802_11_elems and use struct_size()
Prepare for the coming implementation by GCC and Clang of the __counted_by
attribute. Flexible array members annotated with __counted_by can have
their accesses bounds-checked at run-time via CONFIG_UBSAN_BOUNDS (for
array indexing) and CONFIG_FORTIFY_SOURCE (for strcpy/memcpy-family
functions).

While there, use struct_size() helper, instead of the open-coded
version, to calculate the size for the allocation of the whole
flexible structure including, of course, the flexible-array member.

This code was found with the help of Coccinelle, and audited and
fixed manually.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/ZSQ/jcmTAf/PKHg/@work
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2023-10-23 12:25:01 +02:00
..
tests wifi: mac80211: add an element parsing unit test 2023-09-11 12:32:16 +02:00
aead_api.c mac80211: Check crypto_aead_encrypt for errors 2021-03-16 21:20:41 +01:00
aead_api.h
aes_ccm.h
aes_cmac.c mac80211: aes_cmac: check crypto_shash_setkey() return value 2021-04-19 12:01:40 +02:00
aes_cmac.h
aes_gcm.h
aes_gmac.c mac80211: Check crypto_aead_encrypt for errors 2021-03-16 21:20:41 +01:00
aes_gmac.h
agg-rx.c wifi: mac80211: remove ampdu_mlme.mtx 2023-09-11 11:27:22 +02:00
agg-tx.c wifi: mac80211: fix BA session teardown race 2023-09-11 11:27:23 +02:00
airtime.c wifi: mac80211: Sanity check tx bitrate if not provided by driver 2023-09-13 16:24:05 +02:00
cfg.c wifi: mac80211: Rename and update IEEE80211_VIF_DISABLE_SMPS_OVERRIDE 2023-10-23 11:43:27 +02:00
chan.c wifi: mac80211: remove local->mtx 2023-09-11 11:27:22 +02:00
debug.h wifi: mac80211: Add getter functions for vif MLD state 2023-06-14 12:20:08 +02:00
debugfs_key.c wifi: mac80211: remove key_mtx 2023-09-11 11:27:22 +02:00
debugfs_key.h
debugfs_netdev.c wifi: mac80211: Rename and update IEEE80211_VIF_DISABLE_SMPS_OVERRIDE 2023-10-23 11:43:27 +02:00
debugfs_netdev.h wifi: mac80211: handle debugfs when switching to/from MLO 2023-10-23 11:43:26 +02:00
debugfs_sta.c wifi: mac80211: lock wiphy for aggregation debugfs 2023-09-11 11:27:18 +02:00
debugfs_sta.h wifi: mac80211: add API to show the link STAs in debugfs 2022-10-07 15:23:41 +02:00
debugfs.c wifi: mac80211: remove sta_mtx 2023-09-11 11:27:22 +02:00
debugfs.h
driver-ops.c wifi: mac80211: handle debugfs when switching to/from MLO 2023-10-23 11:43:26 +02:00
driver-ops.h wifi: mac80211: add link id to mgd_prepare_tx() 2023-10-23 11:47:40 +02:00
drop.h wifi: mac80211: expand __ieee80211_data_to_8023() status 2023-09-26 09:16:47 +02:00
eht.c wifi: mac80211: add helpers to access sband iftype data 2023-06-14 11:57:29 +02:00
ethtool.c wifi: mac80211: ethtool: always hold wiphy mutex 2023-09-25 09:00:39 +02:00
fils_aead.c wifi: mac80211: Do not include crypto/algapi.h 2023-08-24 08:42:36 +02:00
fils_aead.h
he.c wifi: mac80211: add helpers to access sband iftype data 2023-06-14 11:57:29 +02:00
ht.c wifi: mac80211: remove ampdu_mlme.mtx 2023-09-11 11:27:22 +02:00
ibss.c Merge wireless into wireless-next 2023-10-06 17:08:47 +03:00
ieee80211_i.h wifi: mac80211: Add __counted_by for struct ieee802_11_elems and use struct_size() 2023-10-23 12:25:01 +02:00
iface.c wifi: mac80211: handle debugfs when switching to/from MLO 2023-10-23 11:43:26 +02:00
Kconfig wifi: mac80211: add an element parsing unit test 2023-09-11 12:32:16 +02:00
key.c Merge wireless into wireless-next 2023-10-06 17:08:47 +03:00
key.h wifi: mac80211: remove key_mtx 2023-09-11 11:27:22 +02:00
led.c leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
led.h leds: Change led_trigger_blink[_oneshot]() delay parameters to pass-by-value 2023-05-25 12:16:27 +01:00
link.c wifi: mac80211: Fix setting vif links 2023-10-23 11:43:28 +02:00
main.c wifi: mac80211: Notify the low level driver on change in MLO valid links 2023-09-25 09:12:33 +02:00
Makefile wifi: mac80211: add an element parsing unit test 2023-09-11 12:32:16 +02:00
mesh_hwmp.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh_pathtbl.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh_plink.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh_ps.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh_sync.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh.c wifi: mac80211: mesh: fix some kdoc warnings 2023-10-23 11:43:27 +02:00
mesh.h wifi: mac80211: mesh: Remove unused function declaration mesh_ids_set_default() 2023-08-22 21:40:40 +02:00
michael.c
michael.h
mlme.c wifi: mac80211: add link id to mgd_prepare_tx() 2023-10-23 11:47:40 +02:00
ocb.c wifi: cfg80211: remove scan_width support 2023-09-13 11:10:50 +02:00
offchannel.c wifi: mac80211: fix a expired vs. cancel race in roc 2023-10-23 11:45:17 +02:00
pm.c wifi: mac80211: remove sta_mtx 2023-09-11 11:27:22 +02:00
rate.c wifi: mac80211: make ieee80211_check_rate_mask() link-aware 2022-07-15 11:43:21 +02:00
rate.h wifi: mac80211: make ieee80211_check_rate_mask() link-aware 2022-07-15 11:43:21 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: minstrel_ht: show sampling rates in debugfs 2021-02-12 08:58:11 +01:00
rc80211_minstrel_ht.c wifi: mac80211: remove shifted rate support 2023-09-13 11:22:16 +02:00
rc80211_minstrel_ht.h wifi: mac80211: minstrel_ht: remove unused has_mrr member from struct minstrel_priv 2022-10-07 15:25:05 +02:00
rx.c wifi: mac80211: fix ieee80211_drop_unencrypted_mgmt return type/value 2023-09-29 23:21:15 +02:00
s1g.c wifi: mac80211: remove sta_mtx 2023-09-11 11:27:22 +02:00
scan.c wifi: cfg80211: remove scan_width support 2023-09-13 11:10:50 +02:00
spectmgmt.c wifi: mac80211: use bandwidth indication element for CSA 2023-09-25 09:12:32 +02:00
sta_info.c wifi: mac80211: flush STA queues on unauthorization 2023-10-23 11:45:17 +02:00
sta_info.h wifi: mac80211: fix various kernel-doc issues 2023-09-11 12:32:39 +02:00
status.c wifi: remove unused argument of ieee80211_get_tdls_action() 2023-10-23 12:23:46 +02:00
tdls.c wifi: mac80211: make mgd_protect_tdls_discover MLO-aware 2023-10-23 11:45:17 +02:00
tkip.c
tkip.h
trace_msg.h mac80211: tracing: Use the new __vstring() helper 2022-07-24 19:11:17 -04:00
trace.c
trace.h wifi: mac80211: add support for mld in ieee80211_chswitch_done 2023-09-11 12:31:31 +02:00
tx.c Merge wireless into wireless-next 2023-10-06 17:08:47 +03:00
util.c wifi: mac80211: Add __counted_by for struct ieee802_11_elems and use struct_size() 2023-10-23 12:25:01 +02:00
vht.c wifi: mac80211: work around Cisco AP 9115 VHT MPDU length 2023-09-25 08:41:27 +02:00
wep.c wifi: mac80211: remove RX_DROP_UNUSABLE 2023-09-26 09:16:42 +02:00
wep.h
wme.c wifi: mac80211: fix qos on mesh interfaces 2023-03-22 13:46:38 +01:00
wme.h wifi: mac80211: Drop support for TX push path 2022-10-10 11:06:14 +02:00
wpa.c wifi: mac80211: remove RX_DROP_UNUSABLE 2023-09-26 09:16:42 +02:00
wpa.h wifi: mac80211: remove cipher scheme support 2022-06-10 15:35:53 +02:00