diff mbox series

[V2] USB: gadget: f_fs: Use memdup_user() as a cleanup

Message ID 1616644100-8214-1-git-send-email-f.fangjian@huawei.com
State New
Headers show
Series [V2] USB: gadget: f_fs: Use memdup_user() as a cleanup | expand

Commit Message

Jay Fang March 25, 2021, 3:48 a.m. UTC
From: Zihao Tang <tangzihao1@hisilicon.com>

Fix coccicheck warning which recommends to use memdup_user():

drivers/usb/gadget/function/f_fs.c:3829:8-15: WARNING opportunity for memdup_user

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Zihao Tang <tangzihao1@hisilicon.com>
Signed-off-by: Jay Fang <f.fangjian@huawei.com>
---
 drivers/usb/gadget/function/f_fs.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

Comments

Greg Kroah-Hartman March 26, 2021, 1:41 p.m. UTC | #1
On Thu, Mar 25, 2021 at 11:48:20AM +0800, Jay Fang wrote:
> From: Zihao Tang <tangzihao1@hisilicon.com>

> 

> Fix coccicheck warning which recommends to use memdup_user():

> 

> drivers/usb/gadget/function/f_fs.c:3829:8-15: WARNING opportunity for memdup_user

> 

> Reported-by: kernel test robot <lkp@intel.com>

> Signed-off-by: Zihao Tang <tangzihao1@hisilicon.com>

> Signed-off-by: Jay Fang <f.fangjian@huawei.com>

> ---

>  drivers/usb/gadget/function/f_fs.c | 11 +++--------

>  1 file changed, 3 insertions(+), 8 deletions(-)

> 

> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c

> index 801a8b6..90a24d4 100644

> --- a/drivers/usb/gadget/function/f_fs.c

> +++ b/drivers/usb/gadget/function/f_fs.c

> @@ -3826,14 +3826,9 @@ static char *ffs_prepare_buffer(const char __user *buf, size_t len)

>  	if (!len)

>  		return NULL;

>  

> -	data = kmalloc(len, GFP_KERNEL);

> -	if (!data)

> -		return ERR_PTR(-ENOMEM);

> -

> -	if (copy_from_user(data, buf, len)) {

> -		kfree(data);

> -		return ERR_PTR(-EFAULT);

> -	}

> +	data = memdup_user(buf, len);

> +	if (IS_ERR(data))

> +		return data;

>  

>  	pr_vdebug("Buffer from user space:\n");

>  	ffs_dump_mem("", data, len);

> -- 

> 2.7.4

> 


Does not apply to my tree at all :(
diff mbox series

Patch

diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 801a8b6..90a24d4 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -3826,14 +3826,9 @@  static char *ffs_prepare_buffer(const char __user *buf, size_t len)
 	if (!len)
 		return NULL;
 
-	data = kmalloc(len, GFP_KERNEL);
-	if (!data)
-		return ERR_PTR(-ENOMEM);
-
-	if (copy_from_user(data, buf, len)) {
-		kfree(data);
-		return ERR_PTR(-EFAULT);
-	}
+	data = memdup_user(buf, len);
+	if (IS_ERR(data))
+		return data;
 
 	pr_vdebug("Buffer from user space:\n");
 	ffs_dump_mem("", data, len);