Hi Gustavo, > 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 mgmt_rp_get_connections { > ... > struct mgmt_addr_info addr[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 form: > > sizeof(*rp) + (i * sizeof(struct mgmt_addr_info)); > > with: > > struct_size(rp, addr, i) > > Also, notice that, in this case, variable rp_len is not necessary, > hence it is removed. > > This code was detected with the help of Coccinelle. > > Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx> > --- > net/bluetooth/mgmt.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) patch has been applied to bluetooth-next tree. Regards Marcel