[PATCH] scsi: elx: efct: remove unnecessary memset in efct_io

Wan Jiabing posted 1 patch 4 years, 3 months ago
drivers/scsi/elx/efct/efct_io.c | 1 -
1 file changed, 1 deletion(-)
[PATCH] scsi: elx: efct: remove unnecessary memset in efct_io
Posted by Wan Jiabing 4 years, 3 months ago
io->sgl is allocated by kzalloc(). The memory is set to zero.
It is unnecessary to call memset again.

Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
---
 drivers/scsi/elx/efct/efct_io.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/scsi/elx/efct/efct_io.c b/drivers/scsi/elx/efct/efct_io.c
index c3247b951a76..c612f0a48839 100644
--- a/drivers/scsi/elx/efct/efct_io.c
+++ b/drivers/scsi/elx/efct/efct_io.c
@@ -62,7 +62,6 @@ efct_io_pool_create(struct efct *efct, u32 num_sgl)
 			return NULL;
 		}
 
-		memset(io->sgl, 0, sizeof(*io->sgl) * num_sgl);
 		io->sgl_allocated = num_sgl;
 		io->sgl_count = 0;
 
-- 
2.35.1
Re: [PATCH] scsi: elx: efct: remove unnecessary memset in efct_io
Posted by Martin K. Petersen 4 years, 1 month ago
On Fri, 18 Mar 2022 22:52:20 +0800, Wan Jiabing wrote:

> io->sgl is allocated by kzalloc(). The memory is set to zero.
> It is unnecessary to call memset again.
> 
> 

Applied to 5.19/scsi-queue, thanks!

[1/1] scsi: elx: efct: remove unnecessary memset in efct_io
      https://git.kernel.org/mkp/scsi/c/507bd398a056

-- 
Martin K. Petersen	Oracle Linux Engineering
Re: [PATCH] scsi: elx: efct: remove unnecessary memset in efct_io
Posted by Christophe JAILLET 4 years, 1 month ago
Le 18/03/2022 à 15:52, Wan Jiabing a écrit :
> io->sgl is allocated by kzalloc(). The memory is set to zero.
> It is unnecessary to call memset again.
> 

Hi,

Nitpick: this kzalloc() should be a kcalloc() to avoid an open-coded 
multiplication when computing the size to allocate.

CJ


> Signed-off-by: Wan Jiabing <wanjiabing@vivo.com>
> ---
>   drivers/scsi/elx/efct/efct_io.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/scsi/elx/efct/efct_io.c b/drivers/scsi/elx/efct/efct_io.c
> index c3247b951a76..c612f0a48839 100644
> --- a/drivers/scsi/elx/efct/efct_io.c
> +++ b/drivers/scsi/elx/efct/efct_io.c
> @@ -62,7 +62,6 @@ efct_io_pool_create(struct efct *efct, u32 num_sgl)
>   			return NULL;
>   		}
>   
> -		memset(io->sgl, 0, sizeof(*io->sgl) * num_sgl);
>   		io->sgl_allocated = num_sgl;
>   		io->sgl_count = 0;
>   

Re: [PATCH] scsi: elx: efct: remove unnecessary memset in efct_io
Posted by Finn Thain 4 years, 1 month ago
On Sat, 30 Apr 2022, Christophe JAILLET wrote:

> Le 18/03/2022 à 15:52, Wan Jiabing a écrit :
> > io->sgl is allocated by kzalloc(). The memory is set to zero.
> > It is unnecessary to call memset again.
> > 
> 
> Hi,
> 
> Nitpick: this kzalloc() should be a kcalloc() to avoid an open-coded
> multiplication when computing the size to allocate.
> 

Seems like kcalloc() conversion could be a separate patch. Perhaps it 
could be done everywhere using a coccinelle script.
Re: [PATCH] scsi: elx: efct: remove unnecessary memset in efct_io
Posted by Christophe JAILLET 4 years, 1 month ago
Le 30/04/2022 à 09:48, Finn Thain a écrit :
> On Sat, 30 Apr 2022, Christophe JAILLET wrote:
> 
>> Le 18/03/2022 à 15:52, Wan Jiabing a écrit :
>>> io->sgl is allocated by kzalloc(). The memory is set to zero.
>>> It is unnecessary to call memset again.
>>>
>>
>> Hi,
>>
>> Nitpick: this kzalloc() should be a kcalloc() to avoid an open-coded
>> multiplication when computing the size to allocate.
>>
> 
> Seems like kcalloc() conversion could be a separate patch. Perhaps it
> could be done everywhere using a coccinelle script.

Sure it can and I guess that many coccinelle script already exist for it.

I only replied here because of a comment from Joe Perches on the same 
patch a few month ago (see [1] and [2])

So Wan Jiabing or anyone else, if you want to go one step further, just 
feel free to propose it.

CJ


[1]: 
https://lore.kernel.org/all/4208b3d08a677601c73889f78dd25e5c9f056a86.camel@perches.com/

[2]: 
https://lore.kernel.org/all/9be7d5beb437583f8d975d168ac5c3e32fb6e465.1639158677.git.christophe.jaillet@wanadoo.fr/