diff mbox series

[WAN] : lmc: Use memdup_user() as a cleanup

Message ID 1511364597-20915-1-git-send-email-gomonovych@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show
Series [WAN] : lmc: Use memdup_user() as a cleanup | expand

Commit Message

Vasyl Gomonovych Nov. 22, 2017, 3:29 p.m. UTC
Fix coccicheck warning which recommends to use memdup_user():
drivers/net/wan/lmc/lmc_main.c:497:27-34: WARNING opportunity for memdup_user
Generated by: scripts/coccinelle/memdup_user/memdup_user.cocci

Signed-off-by: Vasyl Gomonovych <gomonovych@gmail.com>
---
 drivers/net/wan/lmc/lmc_main.c | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

Comments

David Miller Nov. 28, 2017, 3:58 p.m. UTC | #1
From: Vasyl Gomonovych <gomonovych@gmail.com>
Date: Wed, 22 Nov 2017 16:29:57 +0100

> Fix coccicheck warning which recommends to use memdup_user():
> drivers/net/wan/lmc/lmc_main.c:497:27-34: WARNING opportunity for memdup_user
> Generated by: scripts/coccinelle/memdup_user/memdup_user.cocci
> 
> Signed-off-by: Vasyl Gomonovych <gomonovych@gmail.com>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
index 4698450c77d1..ded78a466fe3 100644
--- a/drivers/net/wan/lmc/lmc_main.c
+++ b/drivers/net/wan/lmc/lmc_main.c
@@ -494,18 +494,11 @@  int lmc_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) /*fold00*/
                             break;
                     }
 
-                    data = kmalloc(xc.len, GFP_KERNEL);
-                    if (!data) {
-                            ret = -ENOMEM;
+                    data = memdup_user(xc.data, xc.len);
+                    if (IS_ERR(data)) {
+                            ret = PTR_ERR(data);
                             break;
                     }
-                    
-                    if(copy_from_user(data, xc.data, xc.len))
-                    {
-                    	kfree(data);
-                    	ret = -ENOMEM;
-                    	break;
-                    }
 
                     printk("%s: Starting load of data Len: %d at 0x%p == 0x%p\n", dev->name, xc.len, xc.data, data);