Himangi Saraogi <himangi774@xxxxxxxxx> writes:
> This patch replaces kmalloc(size * nr, ) with kmalloc_array(nr, size)
> as kmalloc_array() is preferred because it can check that the
> calculation doesn't wrap and won't return a smaller allocation.
> Also kzalloc(size * nr) was replaced with kzalloc_array().
>
> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx>
Reviewed-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Cheers,
Rusty.
> ---
> fs/btrfs/check-integrity.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c
> index 1c47be1..925a52b 100644
> --- a/fs/btrfs/check-integrity.c
> +++ b/fs/btrfs/check-integrity.c
> @@ -1660,9 +1660,10 @@ static int btrfsic_read_block(struct btrfsic_state *state,
>
> num_pages = (block_ctx->len + (u64)PAGE_CACHE_SIZE - 1) >>
> PAGE_CACHE_SHIFT;
> - block_ctx->mem_to_free = kzalloc((sizeof(*block_ctx->datav) +
> - sizeof(*block_ctx->pagev)) *
> - num_pages, GFP_NOFS);
> + block_ctx->mem_to_free = kzalloc_array(num_pages,
> + (sizeof(*block_ctx->datav) +
> + sizeof(*block_ctx->pagev)),
> + GFP_NOFS);
> if (!block_ctx->mem_to_free)
> return -1;
> block_ctx->datav = block_ctx->mem_to_free;
> @@ -3031,8 +3032,9 @@ void btrfsic_submit_bio(int rw, struct bio *bio)
> (unsigned long long)bio->bi_sector, dev_bytenr,
> bio->bi_bdev);
>
> - mapped_datav = kmalloc(sizeof(*mapped_datav) * bio->bi_vcnt,
> - GFP_NOFS);
> + mapped_datav = kmalloc_array(bio->bi_vcnt,
> + sizeof(*mapped_datav),
> + GFP_NOFS);
> if (!mapped_datav)
> goto leave;
> for (i = 0; i < bio->bi_vcnt; i++) {
> --
> 1.7.9.5
>
> --
> You received this message because you are subscribed to the Google Groups "opw-kernel" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to opw-kernel+unsubscribe@xxxxxxxxxxxxxxxx.
> For more options, visit https://groups.google.com/groups/opt_out.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html