can: ucan: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
authorGustavo A. R. Silva <gustavoars@kernel.org>
Mon, 26 Sep 2022 21:43:56 +0000 (16:43 -0500)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 19 Oct 2022 19:33:30 +0000 (21:33 +0200)
Zero-length arrays are deprecated and we are moving towards adopting
C99 flexible-array members, instead. So, replace zero-length arrays
declarations in anonymous union with the new DECLARE_FLEX_ARRAY()
helper macro.

This helper allows for flexible-array members in unions.

Link: https://github.com/KSPP/linux/issues/193
Link: https://github.com/KSPP/linux/issues/214
Link: https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/all/YzIdHDdz30BH4SAv@work
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/usb/ucan.c

index 7c35f50..b53e709 100644 (file)
@@ -245,7 +245,8 @@ struct ucan_message_in {
                /* CAN transmission complete
                 * (type == UCAN_IN_TX_COMPLETE)
                 */
-               struct ucan_tx_complete_entry_t can_tx_complete_msg[0];
+               DECLARE_FLEX_ARRAY(struct ucan_tx_complete_entry_t,
+                                  can_tx_complete_msg);
        } __aligned(0x4) msg;
 } __packed __aligned(0x4);