]> git.baikalelectronics.ru Git - kernel.git/commit
treewide: Replace 0-element memcpy() destinations with flexible arrays
authorKees Cook <keescook@chromium.org>
Fri, 13 Aug 2021 19:19:24 +0000 (12:19 -0700)
committerKees Cook <keescook@chromium.org>
Mon, 18 Oct 2021 19:28:53 +0000 (12:28 -0700)
commit3d28edb536b47dcb4a604e8824341b3668d853e3
tree72826cdd2aa180a52b197ae7b5c84d4582993b7c
parent427606ed87899d8a5391311208e21c8277c3ad4a
treewide: Replace 0-element memcpy() destinations with flexible arrays

The 0-element arrays that are used as memcpy() destinations are actually
flexible arrays. Adjust their structures accordingly so that memcpy()
can better reason able their destination size (i.e. they need to be seen
as "unknown" length rather than "zero").

In some cases, use of the DECLARE_FLEX_ARRAY() helper is needed when a
flexible array is alone in a struct.

Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Nilesh Javali <njavali@marvell.com>
Cc: Manish Rangankar <mrangankar@marvell.com>
Cc: GR-QLogic-Storage-Upstream@marvell.com
Cc: "James E.J. Bottomley" <jejb@linux.ibm.com>
Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Phillip Potter <phil@philpotter.co.uk>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Cc: Fabio Aiuto <fabioaiuto83@gmail.com>
Cc: Ross Schmidt <ross.schm.dev@gmail.com>
Cc: Marco Cesati <marcocesati@gmail.com>
Cc: ath10k@lists.infradead.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: linux-scsi@vger.kernel.org
Cc: linux-staging@lists.linux.dev
Signed-off-by: Kees Cook <keescook@chromium.org>
drivers/net/wireless/ath/ath10k/bmi.h
drivers/scsi/qla4xxx/ql4_def.h
drivers/staging/r8188eu/include/ieee80211.h
drivers/staging/rtl8712/ieee80211.h
drivers/staging/rtl8723bs/include/ieee80211.h
include/linux/ieee80211.h
include/uapi/linux/dlm_device.h