Messages in this thread | | | Subject | Re: [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable | From | "Gustavo A. R. Silva" <> | Date | Fri, 10 Jul 2020 16:25:31 -0500 |
| |
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@kernel.org> > --- > 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; > >
| |