reiserfs-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable
  2020-06-16 18:41 [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable Gustavo A. R. Silva
@ 2020-06-16 18:39 ` Kees Cook
  2020-07-10 21:25 ` Gustavo A. R. Silva
  1 sibling, 0 replies; 3+ messages in thread
From: Kees Cook @ 2020-06-16 18:39 UTC (permalink / raw)
  To: Gustavo A. R. Silva; +Cc: reiserfs-devel, linux-kernel, Gustavo A. R. Silva

On Tue, Jun 16, 2020 at 01:41:18PM -0500, 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>

Reviewed-by: Kees Cook <keescook@chromium.org>

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable
@ 2020-06-16 18:41 Gustavo A. R. Silva
  2020-06-16 18:39 ` Kees Cook
  2020-07-10 21:25 ` Gustavo A. R. Silva
  0 siblings, 2 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2020-06-16 18:41 UTC (permalink / raw)
  To: Kees Cook; +Cc: reiserfs-devel, linux-kernel, Gustavo A. R. Silva

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;
 
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable
  2020-06-16 18:41 [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable Gustavo A. R. Silva
  2020-06-16 18:39 ` Kees Cook
@ 2020-07-10 21:25 ` Gustavo A. R. Silva
  1 sibling, 0 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2020-07-10 21:25 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Kees Cook; +Cc: reiserfs-devel, linux-kernel

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;
>  
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-07-10 21:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-16 18:41 [PATCH][next] reiserfs: bitmap: Assign array_size() to a variable Gustavo A. R. Silva
2020-06-16 18:39 ` Kees Cook
2020-07-10 21:25 ` Gustavo A. R. Silva

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).