diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2019-06-05 09:45:16 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-06-05 19:03:39 -0700 |
commit | e736bf72af568d0a04f186e1c5dde6789b19c35e (patch) | |
tree | 0d17e2f1c2c06b138eea5af458bf49e4337b0a86 /lib/idr.c | |
parent | 8b5e07d7ee95e3c22cb301731f87d95f58639591 (diff) |
lib: objagg: 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 objagg_stats {
...
struct objagg_obj_stats_info stats_info[];
};
size = sizeof(*objagg_stats) + sizeof(objagg_stats->stats_info[0]) * count;
instance = kzalloc(size, 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, stats_info, count), GFP_KERNEL);
Notice that, in this case, variable alloc_size is not necessary, hence it
is removed.
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/idr.c')
0 files changed, 0 insertions, 0 deletions