diff mbox series

[next] scsi: fnic: Replace vmalloc() + memset() with vzalloc() and use array_size()

Message ID 20200615225428.GA14959@embeddedor (mailing list archive)
State Changes Requested
Headers show
Series [next] scsi: fnic: Replace vmalloc() + memset() with vzalloc() and use array_size() | expand

Commit Message

Gustavo A. R. Silva June 15, 2020, 10:54 p.m. UTC
Use vzalloc() instead of the vmalloc() and memset. Also, use array_size()
instead of the open-coded version.

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>
---
 drivers/scsi/fnic/fnic_trace.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

Comments

Satish Kharat June 16, 2020, 12:19 a.m. UTC | #1
Reviewed-by: Satish Kharat <satishkh@cisco.com>


On 6/15/20, 3:49 PM, "Gustavo A. R. Silva" <gustavoars@kernel.org> wrote:

    Use vzalloc() instead of the vmalloc() and memset. Also, use array_size()
    instead of the open-coded version.
    
    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>
    ---
     drivers/scsi/fnic/fnic_trace.c | 16 ++++------------
     1 file changed, 4 insertions(+), 12 deletions(-)
    
    diff --git a/drivers/scsi/fnic/fnic_trace.c b/drivers/scsi/fnic/fnic_trace.c
    index 9d52d83161ed..be266d1611bb 100644
    --- a/drivers/scsi/fnic/fnic_trace.c
    +++ b/drivers/scsi/fnic/fnic_trace.c
    @@ -488,7 +488,7 @@ int fnic_trace_buf_init(void)
     	}
     
     	fnic_trace_entries.page_offset =
    -		vmalloc(array_size(fnic_max_trace_entries,
    +		vzalloc(array_size(fnic_max_trace_entries,
     				   sizeof(unsigned long)));
     	if (!fnic_trace_entries.page_offset) {
     		printk(KERN_ERR PFX "Failed to allocate memory for"
    @@ -500,8 +500,6 @@ int fnic_trace_buf_init(void)
     		err = -ENOMEM;
     		goto err_fnic_trace_buf_init;
     	}
    -	memset((void *)fnic_trace_entries.page_offset, 0,
    -		  (fnic_max_trace_entries * sizeof(unsigned long)));
     	fnic_trace_entries.wr_idx = fnic_trace_entries.rd_idx = 0;
     	fnic_buf_head = fnic_trace_buf_p;
     
    @@ -559,10 +557,10 @@ int fnic_fc_trace_init(void)
     	int err = 0;
     	int i;
     
    -	fc_trace_max_entries = (fnic_fc_trace_max_pages * PAGE_SIZE)/
    +	fc_trace_max_entries = array_size(fnic_fc_trace_max_pages, PAGE_SIZE)/
     				FC_TRC_SIZE_BYTES;
     	fnic_fc_ctlr_trace_buf_p =
    -		(unsigned long)vmalloc(array_size(PAGE_SIZE,
    +		(unsigned long)vzalloc(array_size(PAGE_SIZE,
     						  fnic_fc_trace_max_pages));
     	if (!fnic_fc_ctlr_trace_buf_p) {
     		pr_err("fnic: Failed to allocate memory for "
    @@ -571,12 +569,9 @@ int fnic_fc_trace_init(void)
     		goto err_fnic_fc_ctlr_trace_buf_init;
     	}
     
    -	memset((void *)fnic_fc_ctlr_trace_buf_p, 0,
    -			fnic_fc_trace_max_pages * PAGE_SIZE);
    -
     	/* Allocate memory for page offset */
     	fc_trace_entries.page_offset =
    -		vmalloc(array_size(fc_trace_max_entries,
    +		vzalloc(array_size(fc_trace_max_entries,
     				   sizeof(unsigned long)));
     	if (!fc_trace_entries.page_offset) {
     		pr_err("fnic:Failed to allocate memory for page_offset\n");
    @@ -588,9 +583,6 @@ int fnic_fc_trace_init(void)
     		err = -ENOMEM;
     		goto err_fnic_fc_ctlr_trace_buf_init;
     	}
    -	memset((void *)fc_trace_entries.page_offset, 0,
    -	       (fc_trace_max_entries * sizeof(unsigned long)));
    -
     	fc_trace_entries.rd_idx = fc_trace_entries.wr_idx = 0;
     	fc_trace_buf_head = fnic_fc_ctlr_trace_buf_p;
     
    -- 
    2.27.0
Joe Perches June 16, 2020, 4:42 a.m. UTC | #2
On Tue, 2020-06-16 at 00:19 +0000, Satish Kharat (satishkh) wrote:
> Reviewed-by: Satish Kharat <satishkh@cisco.com>
> 
> 
> On 6/15/20, 3:49 PM, "Gustavo A. R. Silva" <gustavoars@kernel.org> wrote:
> 
>     Use vzalloc() instead of the vmalloc() and memset. Also, use array_size()
>     instead of the open-coded version.
>     
>     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>
>     ---
>      drivers/scsi/fnic/fnic_trace.c | 16 ++++------------
>      1 file changed, 4 insertions(+), 12 deletions(-)
>     
>     diff --git a/drivers/scsi/fnic/fnic_trace.c b/drivers/scsi/fnic/fnic_trace.c
[]
>     @@ -488,7 +488,7 @@ int fnic_trace_buf_init(void)
>      	}
>      
>      	fnic_trace_entries.page_offset =
>     -		vmalloc(array_size(fnic_max_trace_entries,
>     +		vzalloc(array_size(fnic_max_trace_entries,
>      				   sizeof(unsigned long)));

Perhaps better as
		kvcalloc(fnic_max_trace_entries, sizeof(unsigned long),
			 GFP_KERNEL);
diff mbox series

Patch

diff --git a/drivers/scsi/fnic/fnic_trace.c b/drivers/scsi/fnic/fnic_trace.c
index 9d52d83161ed..be266d1611bb 100644
--- a/drivers/scsi/fnic/fnic_trace.c
+++ b/drivers/scsi/fnic/fnic_trace.c
@@ -488,7 +488,7 @@  int fnic_trace_buf_init(void)
 	}
 
 	fnic_trace_entries.page_offset =
-		vmalloc(array_size(fnic_max_trace_entries,
+		vzalloc(array_size(fnic_max_trace_entries,
 				   sizeof(unsigned long)));
 	if (!fnic_trace_entries.page_offset) {
 		printk(KERN_ERR PFX "Failed to allocate memory for"
@@ -500,8 +500,6 @@  int fnic_trace_buf_init(void)
 		err = -ENOMEM;
 		goto err_fnic_trace_buf_init;
 	}
-	memset((void *)fnic_trace_entries.page_offset, 0,
-		  (fnic_max_trace_entries * sizeof(unsigned long)));
 	fnic_trace_entries.wr_idx = fnic_trace_entries.rd_idx = 0;
 	fnic_buf_head = fnic_trace_buf_p;
 
@@ -559,10 +557,10 @@  int fnic_fc_trace_init(void)
 	int err = 0;
 	int i;
 
-	fc_trace_max_entries = (fnic_fc_trace_max_pages * PAGE_SIZE)/
+	fc_trace_max_entries = array_size(fnic_fc_trace_max_pages, PAGE_SIZE)/
 				FC_TRC_SIZE_BYTES;
 	fnic_fc_ctlr_trace_buf_p =
-		(unsigned long)vmalloc(array_size(PAGE_SIZE,
+		(unsigned long)vzalloc(array_size(PAGE_SIZE,
 						  fnic_fc_trace_max_pages));
 	if (!fnic_fc_ctlr_trace_buf_p) {
 		pr_err("fnic: Failed to allocate memory for "
@@ -571,12 +569,9 @@  int fnic_fc_trace_init(void)
 		goto err_fnic_fc_ctlr_trace_buf_init;
 	}
 
-	memset((void *)fnic_fc_ctlr_trace_buf_p, 0,
-			fnic_fc_trace_max_pages * PAGE_SIZE);
-
 	/* Allocate memory for page offset */
 	fc_trace_entries.page_offset =
-		vmalloc(array_size(fc_trace_max_entries,
+		vzalloc(array_size(fc_trace_max_entries,
 				   sizeof(unsigned long)));
 	if (!fc_trace_entries.page_offset) {
 		pr_err("fnic:Failed to allocate memory for page_offset\n");
@@ -588,9 +583,6 @@  int fnic_fc_trace_init(void)
 		err = -ENOMEM;
 		goto err_fnic_fc_ctlr_trace_buf_init;
 	}
-	memset((void *)fc_trace_entries.page_offset, 0,
-	       (fc_trace_max_entries * sizeof(unsigned long)));
-
 	fc_trace_entries.rd_idx = fc_trace_entries.wr_idx = 0;
 	fc_trace_buf_head = fnic_fc_ctlr_trace_buf_p;