]> git.baikalelectronics.ru Git - kernel.git/commit
zd1211rw: zd_usb: Use struct_size() helper
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Fri, 30 Aug 2019 18:57:16 +0000 (13:57 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 3 Sep 2019 13:45:35 +0000 (16:45 +0300)
commit9f8917e04e7516e4e53b7ff28fc32ed2baed1eb0
treeac9731f8e9d9112c8035258e0897db7c6c86d046
parentfaa1c87d4a4a56f2ce33b59ea836bc3c5c7127ff
zd1211rw: zd_usb: Use struct_size() helper

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@embeddedor.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/zydas/zd1211rw/zd_usb.c