Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1466925 > unrolled thread
| Started by | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| First post | 2016-08-21 09:20 +0200 |
| Last post | 2016-08-22 22:30 +0200 |
| Articles | 2 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 1/7] aacraid: Use memdup_user() rather than duplicating its implementation SF Markus Elfring <elfring@users.sourceforge.net> - 2016-08-21 09:20 +0200
Re: [PATCH 1/7] aacraid: Use memdup_user() rather than duplicating its implementation SF Markus Elfring <elfring@users.sourceforge.net> - 2016-08-22 22:30 +0200
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2016-08-21 09:20 +0200 |
| Subject | [PATCH 1/7] aacraid: Use memdup_user() rather than duplicating its implementation |
| Message-ID | <s8vcZ-5ID-1@gated-at.bofh.it> |
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sat, 20 Aug 2016 20:05:24 +0200
Reuse existing functionality from memdup_user() instead of keeping
duplicate source code.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/scsi/aacraid/commctrl.c | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c
index 5648b71..1af3084 100644
--- a/drivers/scsi/aacraid/commctrl.c
+++ b/drivers/scsi/aacraid/commctrl.c
@@ -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;
}
--
2.9.3
[toc] | [next] | [standalone]
| From | SF Markus Elfring <elfring@users.sourceforge.net> |
|---|---|
| Date | 2016-08-22 22:30 +0200 |
| Subject | Re: [PATCH 1/7] aacraid: Use memdup_user() rather than duplicating its implementation |
| Message-ID | <s9413-2Ex-23@gated-at.bofh.it> |
| In reply to | #1466925 |
>> @@ -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
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web