linux/drivers/net/wireless/intersil/p54
Kees Cook fb5f6a0e80 mac80211: Use memset_after() to clear tx status
In preparation for FORTIFY_SOURCE performing compile-time and run-time
field bounds checking for memset(), avoid intentionally writing across
neighboring fields.

Use memset_after() so memset() doesn't get confused about writing
beyond the destination member that is intended to be the starting point
of zeroing through the end of the struct.

Additionally fix the common helper, ieee80211_tx_info_clear_status(),
which was not clearing ack_signal, but the open-coded versions
did. Johannes Berg points out this bug was introduced by commit
e3e1a0bcb3 ("mac80211: reduce IEEE80211_TX_MAX_RATES") but was harmless.

Also drops the associated unneeded BUILD_BUG_ON()s, and adds a note to
carl9170 about usage.

Signed-off-by: Kees Cook <keescook@chromium.org>
Tested-by: Christian Lamparter <chunkeey@gmail.com> [both CARL9170+P54USB on real HW]
Link: https://lore.kernel.org/r/20211118203839.1289276-1-keescook@chromium.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2021-11-26 11:54:03 +01:00
..
eeprom.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
eeprom.h p54: Replace zero-length array with flexible-array member 2020-03-23 19:01:13 +02:00
fwio.c intersil: fix wiki website url 2020-08-02 18:23:21 +03:00
Kconfig intersil: fix wiki website url 2020-08-02 18:23:21 +03:00
led.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lmac.h p54: Replace zero-length array with flexible-array member 2020-03-23 19:01:13 +02:00
main.c wireless-drivers-next patches for 5.3 2019-06-26 10:12:17 -07:00
Makefile
p54.h p54: Replace zero-length array with flexible-array member 2020-03-23 19:01:13 +02:00
p54pci.c p54: avoid accessing the data mapped to streaming DMA 2020-09-01 12:33:48 +03:00
p54pci.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
p54spi_eeprom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
p54spi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
p54spi.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 336 2019-06-05 17:37:07 +02:00
p54usb.c intersil: fix wiki website url 2020-08-02 18:23:21 +03:00
p54usb.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
txrx.c mac80211: Use memset_after() to clear tx status 2021-11-26 11:54:03 +01:00