atmel: use memdup_user to simplify the code
authorYueHaibing <yuehaibing@huawei.com>
Mon, 4 Jun 2018 10:32:10 +0000 (18:32 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 27 Jun 2018 16:06:00 +0000 (19:06 +0300)
use existing memdup_user() helper function instead of open-coding

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/atmel/atmel.c

index b01dc34d55af15a8ef3caebe4755f244db371903..0d8e0af3f74b1bc3b7af227222518cba87ea25e2 100644 (file)
@@ -2646,14 +2646,9 @@ static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                        break;
                }
 
-               if (!(new_firmware = kmalloc(com.len, GFP_KERNEL))) {
-                       rc = -ENOMEM;
-                       break;
-               }
-
-               if (copy_from_user(new_firmware, com.data, com.len)) {
-                       kfree(new_firmware);
-                       rc = -EFAULT;
+               new_firmware = memdup_user(com.data, com.len);
+               if (IS_ERR(new_firmware)) {
+                       rc = PTR_ERR(new_firmware);
                        break;
                }