[PATCH 0/8] scsi: aacraid: Replace one-element arrays with flexible-array members

From: Gustavo A. R. Silva
Date: Tue Feb 22 2022 - 02:20:26 EST


This series aims to replace one-element arrays with flexible-array
members in multiple structures in drivers/scsi/aacraid/aacraid.h.

There is a regular need in the kernel to provide a way to declare having
a dynamically sized set of trailing elements in a structure. Kernel code
should always use “flexible array members”[1] for these cases. The older
style of one-element or zero-length arrays should no longer be used[2].

This helps with the ongoing efforts to globally enable -Warray-bounds
and get us closer to being able to tighten the FORTIFY_SOURCE routines
on memcpy().

These issues were found with the help of Coccinelle and audited and fixed,
manually.

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays

Link: https://github.com/KSPP/linux/issues/79

Gustavo A. R. Silva (8):
scsi: aacraid: Replace one-element array with flexible-array member
scsi: aacraid: Replace one-element array with flexible-array member in
struct sgmap
scsi: aacraid: Replace one-element array with flexible-array member in
struct user_sgmap
scsi: aacraid: Replace one-element array with flexible-array member in
struct sgmap64
scsi: aacraid: Replace one-element array with flexible-array member in
struct user_sgmap64
scsi: aacraid: Replace one-element array with flexible-array member in
struct sgmapraw
scsi: aacraid: Replace one-element array with flexible-array member in
struct user_sgmapraw
scsi: aacraid: Replace one-element array with flexible-array member in
struct aac_aifcmd

drivers/scsi/aacraid/aachba.c | 76 +++++++++++----------------------
drivers/scsi/aacraid/aacraid.h | 16 +++----
drivers/scsi/aacraid/commctrl.c | 5 +--
drivers/scsi/aacraid/comminit.c | 3 +-
4 files changed, 37 insertions(+), 63 deletions(-)

--
2.27.0