bcache: movinggc: Use struct_size() helper in kzalloc()
PATCH 1/1 bcache: movinggc: Use struct_size() helper in kzalloc()
Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes.
This code was detected with the help of Coccinelle and, audited and fixed manually.
Signed-off-by Gustavo A. R. Silva <[email protected]>
--- drivers/md/bcache/movinggc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/md/bcache/movinggc.c +2 -2
@@ -145,8 +145,8 @@ static void read_moving(struct cache_set *c)continue ; } - io =kzalloc (sizeof (struct moving_io ) +sizeof (struct bio_vec ) - *DIV_ROUND_UP (KEY_SIZE (&w->key),PAGE_SECTORS ), + io =kzalloc (struct_size (io, bio.bio.bi_inline_vecs, +DIV_ROUND_UP (KEY_SIZE (&w->key),PAGE_SECTORS )),GFP_KERNEL );if (!io) goto err;
Signature · 1 line
2.27.0
Quoted 7 lines · Gustavo A. R. Silva
Make use of the
struct_size()helper instead of an open-coded version in order to avoid any potential type mistakes.This code was detected with the help of Coccinelle and, audited and fixed manually.
Signed-off-by Gustavo A. R. Silva <[email protected]>
The patch looks good to me, and I assume you already test and verify the change. I will add them in my for-test directory.
Thanks.
Coly Li
Quoted 20 lines
--- drivers/md/bcache/movinggc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/md/bcache/movinggc.c +2
-2@@ -145,8 +145,8 @@ static void read_moving(struct cache_set *c)continue ; } - io =kzalloc (sizeof (struct moving_io ) +sizeof (struct bio_vec ) - *DIV_ROUND_UP (KEY_SIZE (&w->key),PAGE_SECTORS ), + io =kzalloc (struct_size (io, bio.bio.bi_inline_vecs, +DIV_ROUND_UP (KEY_SIZE (&w->key),PAGE_SECTORS )),GFP_KERNEL );if (!io) goto err;