Kees Cook <keescook@xxxxxxxxxxxx> writes: > As part of the work to perform bounds checking on all memcpy() uses, > replace the open-coded a deserialization of bytes out of memory into a > trailing flexible array by using a flex_array.h helper to perform the > allocation, bounds checking, and copying. > > Cc: Loic Poulain <loic.poulain@xxxxxxxxxx> > Cc: Kalle Valo <kvalo@xxxxxxxxxx> > Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> > Cc: Eric Dumazet <edumazet@xxxxxxxxxx> > Cc: Jakub Kicinski <kuba@xxxxxxxxxx> > Cc: Paolo Abeni <pabeni@xxxxxxxxxx> > Cc: wcn36xx@xxxxxxxxxxxxxxxxxxx > Cc: linux-wireless@xxxxxxxxxxxxxxx > Cc: netdev@xxxxxxxxxxxxxxx > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> [...] > --- a/drivers/net/wireless/ath/wcn36xx/smd.h > +++ b/drivers/net/wireless/ath/wcn36xx/smd.h > @@ -46,8 +46,8 @@ struct wcn36xx_fw_msg_status_rsp { > > struct wcn36xx_hal_ind_msg { > struct list_head list; > - size_t msg_len; > - u8 msg[]; > + DECLARE_FLEX_ARRAY_ELEMENTS_COUNT(size_t, msg_len); > + DECLARE_FLEX_ARRAY_ELEMENTS(u8, msg); This affects readability quite a lot and tbh I don't like it. Isn't there any simpler way to solve this? -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches