]> Git Repo - linux.git/commit - lib/objagg.c
lib: objagg: Use struct_size() in kzalloc()
authorGustavo A. R. Silva <[email protected]>
Wed, 5 Jun 2019 14:45:16 +0000 (09:45 -0500)
committerDavid S. Miller <[email protected]>
Thu, 6 Jun 2019 02:03:39 +0000 (19:03 -0700)
commite736bf72af568d0a04f186e1c5dde6789b19c35e
tree0d17e2f1c2c06b138eea5af458bf49e4337b0a86
parent8b5e07d7ee95e3c22cb301731f87d95f58639591
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 <[email protected]>
Acked-by: Jiri Pirko <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
lib/objagg.c
This page took 0.052558 seconds and 4 git commands to generate.