diff options
| author | Kees Cook <[email protected]> | 2023-06-14 11:13:11 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2023-06-15 11:43:29 +0200 |
| commit | 09b69dd4378b91b3ac3fbac387fb992dc21c0f88 (patch) | |
| tree | bc76d9055ad66a8ebeed64e622716e93ad40c692 /include/uapi/linux | |
| parent | df49f2a0ac4a34c0cb4b5c233fcfa0add644c43c (diff) | |
usb: ch9: Replace 1-element array with flexible array
Since commit df8fc4e934c1 ("kbuild: Enable -fstrict-flex-arrays=3"),
UBSAN_BOUNDS no longer pretends 1-element arrays are unbounded. Walking
wData will trigger a warning, so make it a proper flexible array. Add a
union to keep the struct size identical for userspace in case anything
was depending on the old size.
Reported-by: kernel test robot <[email protected]>
Closes: https://lore.kernel.org/oe-lkp/[email protected]
Cc: Greg Kroah-Hartman <[email protected]>
Cc: kernel test robot <[email protected]>
Cc: "Gustavo A. R. Silva" <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: "Jó Ágila Bitsch" <[email protected]>
Signed-off-by: Kees Cook <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/usb/ch9.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/uapi/linux/usb/ch9.h b/include/uapi/linux/usb/ch9.h index b17e3a21b15f..82ec6af71a1d 100644 --- a/include/uapi/linux/usb/ch9.h +++ b/include/uapi/linux/usb/ch9.h @@ -376,7 +376,10 @@ struct usb_string_descriptor { __u8 bLength; __u8 bDescriptorType; - __le16 wData[1]; /* UTF-16LE encoded */ + union { + __le16 legacy_padding; + __DECLARE_FLEX_ARRAY(__le16, wData); /* UTF-16LE encoded */ + }; } __attribute__ ((packed)); /* note that "string" zero is special, it holds language codes that |