bcache: movinggc: Use struct_size() helper in kzalloc()
authorGustavo A. R. Silva <gustavoars@kernel.org>
Sat, 25 Jul 2020 12:00:19 +0000 (20:00 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 25 Jul 2020 13:38:20 +0000 (07:38 -0600)
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 <gustavoars@kernel.org>
Signed-off-by: Coly Li <colyli@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/movinggc.c

index 7891fb5..b7dd2d7 100644 (file)
@@ -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;