Re: [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable

From: Gustavo A. R. Silva
Date: Fri Jul 10 2020 - 17:20:00 EST


Hi all,

Friendly ping: who can take this?

Thanks
--
Gustavo

On 6/16/20 13:41, Gustavo A. R. Silva wrote:
> Assign array_size() to variable _size_ and use it in both vmalloc()
> and memset(). These sorts of multiplication factors need to be wrapped
> in array_size().
>
> This issue was found with the help of Coccinelle and, audited and fixed
> manually.
>
> Addresses-KSPP-ID: https://github.com/KSPP/linux/issues/83
> Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx>
> ---
> fs/reiserfs/bitmap.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/fs/reiserfs/bitmap.c b/fs/reiserfs/bitmap.c
> index bf708ac287b4..3ca601893d2e 100644
> --- a/fs/reiserfs/bitmap.c
> +++ b/fs/reiserfs/bitmap.c
> @@ -1455,12 +1455,13 @@ int reiserfs_init_bitmap_cache(struct super_block *sb)
> {
> struct reiserfs_bitmap_info *bitmap;
> unsigned int bmap_nr = reiserfs_bmap_count(sb);
> + size_t size = array_size(bmap_nr, sizeof(*bitmap));
>
> - bitmap = vmalloc(array_size(bmap_nr, sizeof(*bitmap)));
> + bitmap = vmalloc(size);
> if (bitmap == NULL)
> return -ENOMEM;
>
> - memset(bitmap, 0xff, sizeof(*bitmap) * bmap_nr);
> + memset(bitmap, 0xff, size);
>
> SB_AP_BITMAP(sb) = bitmap;
>
>