Looks fine to me. On 2021-05-14 4:08 p.m., Gustavo A. R. Silva wrote: > 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]. > > Also, make use of the struct_size() helper in kzalloc(). > > [1] https://en.wikipedia.org/wiki/Flexible_array_member > [2] https://www.kernel.org/doc/html/v5.10/process/deprecated.html#zero-length-and-one-element-arrays > > Signed-off-by: Gustavo A. R. Silva Acked-by: Scott Branden > --- > drivers/misc/bcm-vk/bcm_vk_msg.c | 3 +-- > drivers/misc/bcm-vk/bcm_vk_msg.h | 2 +- > 2 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c > index f40cf08a6192..6efc52b49af6 100644 > --- a/drivers/misc/bcm-vk/bcm_vk_msg.c > +++ b/drivers/misc/bcm-vk/bcm_vk_msg.c > @@ -701,8 +701,7 @@ int bcm_vk_send_shutdown_msg(struct bcm_vk *vk, u32 shut_type, > return -EINVAL; > } > > - entry = kzalloc(sizeof(*entry) + > - sizeof(struct vk_msg_blk), GFP_KERNEL); > + entry = kzalloc(struct_size(entry, to_v_msg, 1), GFP_KERNEL); > if (!entry) > return -ENOMEM; > > diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.h b/drivers/misc/bcm-vk/bcm_vk_msg.h > index 4eaad84825d6..56784c8896d8 100644 > --- a/drivers/misc/bcm-vk/bcm_vk_msg.h > +++ b/drivers/misc/bcm-vk/bcm_vk_msg.h > @@ -116,7 +116,7 @@ struct bcm_vk_wkent { > u32 usr_msg_id; > u32 to_v_blks; > u32 seq_num; > - struct vk_msg_blk to_v_msg[0]; > + struct vk_msg_blk to_v_msg[]; > }; > > /* queue stats counters */ >