"Gustavo A. R. Silva" <gustavo@xxxxxxxxxxxxxx> wrote: > One of the more common cases of allocation size calculations is finding > the size of a structure that has a zero-sized array at the end, along > with memory for some number of elements for that array. For example: > > struct usb_int_regs { > ... > struct reg_data regs[0]; > } __packed; > > Make use of the struct_size() helper instead of an open-coded version > in order to avoid any potential type mistakes. > > So, replace the following function: > > static int usb_int_regs_length(unsigned int count) > { > return sizeof(struct usb_int_regs) + count * sizeof(struct reg_data); > } > > with: > > struct_size(regs, regs, count) > > This code was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> Patch applied to wireless-drivers-next.git, thanks. 84b0b6635247 zd1211rw: zd_usb: Use struct_size() helper -- https://patchwork.kernel.org/patch/11124457/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches