mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-07 10:29:52 +00:00
IB/core: Use struct_size() in kzalloc()
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[];
};
instance = kzalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL);
Instead of leaving these open-coded and prone to type mistakes, we can now
use the new struct_size() helper:
instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL);
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
committed by
Jason Gunthorpe
parent
02fc184841
commit
5aad26a7ea
@@ -2342,9 +2342,7 @@ static void ib_sa_add_one(struct ib_device *device)
|
|||||||
s = rdma_start_port(device);
|
s = rdma_start_port(device);
|
||||||
e = rdma_end_port(device);
|
e = rdma_end_port(device);
|
||||||
|
|
||||||
sa_dev = kzalloc(sizeof *sa_dev +
|
sa_dev = kzalloc(struct_size(sa_dev, port, e - s + 1), GFP_KERNEL);
|
||||||
(e - s + 1) * sizeof (struct ib_sa_port),
|
|
||||||
GFP_KERNEL);
|
|
||||||
if (!sa_dev)
|
if (!sa_dev)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user