wimax/i2400m: use struct_size() helper
Subsystems (2)
PATCH 1/1 wimax/i2400m: 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 foo {
int stuff;
void *entry[];
};size = sizeof(struct foo) + count * sizeof(void *); instance = alloc(size, GFP_KERNEL);
Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper:
size = struct_size(instance, entry, count);
This code was detected with the help of Coccinelle.
--- drivers/net/wimax/i2400m/rx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/wimax/i2400m/rx.c +2 -2
@@ -1260,8 +1260,8 @@ int i2400m_rx(struct i2400m *i2400m, struct sk_buff *skb) goto error_msg_hdr_check; result = -EIO ; num_pls =le16_to_cpu (msg_hdr->num_pls); - pl_itr =sizeof (*msg_hdr) +/* Check payload descriptor(s) */ - num_pls *sizeof (msg_hdr->pld[0 ]); +/* Check payload descriptor(s) */ + pl_itr =struct_size (msg_hdr, pld, num_pls); pl_itr =ALIGN (pl_itr,I2400M_PL_ALIGN );if (pl_itr > skb_len) {/* got all the payload descriptors? */ dev_err(dev, "RX: HW BUG? message too short (%u bytes) for "
Signature · 1 line
2.20.1
From: "Gustavo A. R. Silva" <[email protected]>
Date: Thu, 7 Feb 2019 21:22:17 -0600
Quoted 12 lines
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 foo { int stuff; void *entry[]; };size = sizeof(struct foo) + count *
sizeof(void *); instance =alloc(size, GFP_KERNEL);
Quoted 8 lines
Instead of leaving these open-coded and prone to type mistakes, we can now use the new
struct_size()helper:size =
struct_size(instance, entry, count);This code was detected with the help of Coccinelle.
Signed-off-by Gustavo A. R. Silva <[email protected]>
Applied.