[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210826050458.1540622-1-keescook@chromium.org>
Date: Wed, 25 Aug 2021 22:04:53 -0700
From: Kees Cook <keescook@...omium.org>
To: linux-kernel@...r.kernel.org
Cc: Kees Cook <keescook@...omium.org>, Arnd Bergmann <arnd@...db.de>,
"Gustavo A. R. Silva" <gustavoars@...nel.org>,
Rasmus Villemoes <linux@...musvillemoes.dk>,
Keith Packard <keithp@...thp.com>,
Dan Williams <dan.j.williams@...el.com>,
Daniel Vetter <daniel.vetter@...ll.ch>,
clang-built-linux@...glegroups.com, linux-hardening@...r.kernel.org
Subject: [PATCH v2 0/5] Enable -Warray-bounds and -Wzero-length-bounds
v2:
- rename flex array helper
- split flex array helper arguments to be more DECLARE_*-like
- added knowledge of flex array helper to kernel-doc
- added reviews
v1: https://lore.kernel.org/lkml/20210818081118.1667663-1-keescook@chromium.org/
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 DECLARE_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. Reviews appreciated! :)
Thanks!
-Kees
[1] https://lore.kernel.org/lkml/20210818043035.1308062-1-keescook@chromium.org/
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 | 10 +++----
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/rtl8188eu/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 | 30 +++++++++----------
include/linux/stddef.h | 13 ++++++++
include/scsi/sas.h | 12 +++++---
include/uapi/linux/dlm_device.h | 4 +--
include/uapi/linux/stddef.h | 16 ++++++++++
include/uapi/rdma/rdma_user_rxe.h | 4 +--
include/uapi/sound/asoc.h | 4 +--
scripts/kernel-doc | 2 ++
24 files changed, 115 insertions(+), 65 deletions(-)
--
2.30.2
Powered by blists - more mailing lists