Re: [PATCH 1/7] aacraid: Use memdup_user() rather than duplicating its implementation
From: SF Markus Elfring
Date: Mon Aug 22 2016 - 16:25:11 EST
>> @@ -526,15 +526,9 @@ static int aac_send_raw_srb(struct aac_dev* dev, void
>> __user * arg)
>> goto cleanup;
>> }
>>
>> - user_srbcmd = kmalloc(fibsize, GFP_KERNEL);
>> - if (!user_srbcmd) {
>> - dprintk((KERN_DEBUG"aacraid: Could not make a copy of the srb\n"));
>> - rcode = -ENOMEM;
>> - goto cleanup;
>> - }
>> - if(copy_from_user(user_srbcmd, user_srb,fibsize)){
>> - dprintk((KERN_DEBUG"aacraid: Could not copy srb from user\n"));
>> - rcode = -EFAULT;
>> + user_srbcmd = memdup_user(user_srb, fibsize);
>> + if (IS_ERR(user_srbcmd)) {
>> + rcode = PTR_ERR(user_srbcmd);
>> goto cleanup;
>> }
>>
>> --
>
> Hi Markus,
>
> Patch 2/7 should precede Patch 1/7, as falling into kfree() would not look pretty.
Do you eventually prefer that this source code adjustment should be combined with
the update suggestion "[2/7] aacraid: One function call less in aac_send_raw_srb()
after error detection" in a single update step?
Regards,
Markus