Re: [PATCH] wan: cosa: use memdup_user().

From: David Miller
Date: Mon May 23 2016 - 17:02:37 EST


From: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx>
Date: Fri, 20 May 2016 17:50:06 +0530

> Use memdup_user to duplicate a memory region from user-space to
> kernel-space, instead of open coding using kmalloc & copy_from_user.
>
> Signed-off-by: Muhammad Falak R Wani <falakreyaz@xxxxxxxxx>
> ---
> drivers/net/wan/cosa.c | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
> index b87fe0a..fb37439 100644
> --- a/drivers/net/wan/cosa.c
> +++ b/drivers/net/wan/cosa.c
> @@ -876,15 +876,10 @@ static ssize_t cosa_write(struct file *file,
> count = COSA_MTU;
>
> /* Allocate the buffer */
> - kbuf = kmalloc(count, GFP_KERNEL|GFP_DMA);
> - if (kbuf == NULL) {
> + kbuf = memdup_user(buf, count);

You're losing the GFP_DMA specification here, therefore this change
is not correct.