On 2020/6/18 06:27, Gustavo A. R. Silva wrote:
> 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 <gustavo...@kernel.org> ---
>  drivers/md/bcache/writeback.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
> index 1cf1e5016cb9..c0db3c860179 100644
> --- a/drivers/md/bcache/writeback.c
> +++ b/drivers/md/bcache/writeback.c
> @@ -459,10 +459,8 @@ static void read_dirty(struct cached_dev *dc)
>               for (i = 0; i < nk; i++) {
>                       w = keys[i];
>  
> -                     io = kzalloc(sizeof(struct dirty_io) +
> -                                  sizeof(struct bio_vec) *
> -                                  DIV_ROUND_UP(KEY_SIZE(&w->key),
> -                                               PAGE_SECTORS),
> +                     io = kzalloc(struct_size(io, bio.bi_inline_vecs,
                                                     ^^^^^^^^^^^^^^^^^^
                                                     I like this :-)

> +                                             DIV_ROUND_UP(KEY_SIZE(&w->key), 
> PAGE_SECTORS)),

The above line seems too long for 80 characters limitation. Does
checkpatch.pl complain for this ?


Thanks.

Coly Li


>                                    GFP_KERNEL);
>                       if (!io)
>                               goto err;
> 

Reply via email to