[PATCH 0/5] Enable -Warray-bounds and -Wzero-length-bounds

From: Kees Cook
Date: Wed Aug 18 2021 - 04:11:52 EST


Hi,

In support of the improved buffer overflow detection for memcpy(),
this enables -Warray-bounds and -Wzero-length-bounds globally. Mostly
it involves some struct member tricks with the new flex_array() macro.
Everything else is just replacing stacked 0-element arrays with actual
unions in two related treewide patches. There is one set of special
cases that were fixed separately[1] and are needed as well.

I'm expecting to carry this series with the memcpy() series in my
"overflow" tree.

Thanks!

-Kees

[1] https://lore.kernel.org/lkml/20210818043035.1308062-1-keescook@xxxxxxxxxxxx/

Kees Cook (5):
stddef: Add flexible array union helper
treewide: Replace open-coded flex arrays in unions
treewide: Replace 0-element memcpy() destinations with flexible arrays
Makefile: Enable -Warray-bounds
Makefile: Enable -Wzero-length-bounds

Makefile | 2 --
drivers/crypto/chelsio/chcr_crypto.h | 14 +++++---
drivers/net/can/usb/etas_es58x/es581_4.h | 2 +-
drivers/net/can/usb/etas_es58x/es58x_fd.h | 2 +-
drivers/net/wireless/ath/ath10k/bmi.h | 12 +++----
drivers/net/wireless/ath/ath10k/htt.h | 7 ++--
.../net/wireless/intel/iwlegacy/commands.h | 6 ++--
.../net/wireless/intel/iwlwifi/dvm/commands.h | 6 ++--
.../net/wireless/intel/iwlwifi/fw/api/tx.h | 6 ++--
drivers/scsi/aic94xx/aic94xx_sds.c | 6 ++--
drivers/scsi/qla4xxx/ql4_def.h | 4 +--
drivers/staging/r8188eu/include/ieee80211.h | 6 ++--
drivers/staging/rtl8712/ieee80211.h | 4 +--
drivers/staging/rtl8723bs/include/ieee80211.h | 6 ++--
fs/hpfs/hpfs.h | 8 ++---
include/linux/filter.h | 6 ++--
include/linux/ieee80211.h | 34 +++++++++----------
include/linux/stddef.h | 10 ++++++
include/scsi/sas.h | 12 ++++---
include/uapi/linux/dlm_device.h | 4 +--
include/uapi/linux/stddef.h | 13 +++++++
include/uapi/rdma/rdma_user_rxe.h | 6 ++--
include/uapi/sound/asoc.h | 6 ++--
23 files changed, 112 insertions(+), 70 deletions(-)

--
2.30.2