can: Replace zero-length array with flexible-array
authorGustavo A. R. Silva <gustavoars@kernel.org>
Thu, 28 May 2020 14:35:11 +0000 (09:35 -0500)
committerGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 16 Jun 2020 04:08:31 +0000 (23:08 -0500)
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].

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://github.com/KSPP/linux/issues/21

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
include/linux/can/skb.h

index a954def..900b9f4 100644 (file)
@@ -34,7 +34,7 @@
 struct can_skb_priv {
        int ifindex;
        int skbcnt;
-       struct can_frame cf[0];
+       struct can_frame cf[];
 };
 
 static inline struct can_skb_priv *can_skb_prv(struct sk_buff *skb)