RE: [PATCH] [SCSI] aacraid: use kmemdup
From: Raghava Aditya Renukunta
Date: Thu May 19 2016 - 14:25:46 EST
> -----Original Message-----
> From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Muhammad Falak R Wani
> Sent: Thursday, May 19, 2016 7:09 AM
> To: Hannes Reinecke
> Cc: Adaptec OEM Raid Solutions; James E.J. Bottomley; Martin K. Petersen;
> linux-scsi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] [SCSI] aacraid: use kmemdup
>
> EXTERNAL EMAIL
>
>
> Use kmemdup when some other buffer is immediately copied into allocated
> region. It replaces call to allocation followed by memcpy, by a single
> call to kmemdup.
>
> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx>
> ---
> drivers/scsi/aacraid/commctrl.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
> index 4b3bb52..b381b37 100644
> --- a/drivers/scsi/aacraid/commctrl.c
> +++ b/drivers/scsi/aacraid/commctrl.c
> @@ -635,15 +635,14 @@ static int aac_send_raw_srb(struct aac_dev* dev,
> void __user * arg)
> }
> } else {
> struct user_sgmap* usg;
> - usg = kmalloc(actual_fibsize - sizeof(struct aac_srb)
> - + sizeof(struct sgmap), GFP_KERNEL);
> + usg = kmemdup(upsg,
> + actual_fibsize - sizeof(struct aac_srb)
> + + sizeof(struct sgmap), GFP_KERNEL);
> if (!usg) {
> dprintk((KERN_DEBUG"aacraid: Allocation error in Raw SRB
> command\n"));
> rcode = -ENOMEM;
> goto cleanup;
> }
> - memcpy (usg, upsg, actual_fibsize - sizeof(struct aac_srb)
> - + sizeof(struct sgmap));
> actual_fibsize = actual_fibsize64;
>
> for (i = 0; i < usg->count; i++) {
Reviewed-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@xxxxxxxxxxxxx>