Re: [PATCH] tipc: Use kmemdup instead of kmalloc and memcpy

From: Ying Xue
Date: Mon Jun 27 2016 - 03:38:13 EST


On 06/23/2016 12:49 PM, Amitoj Kaur Chawla wrote:
> Replace calls to kmalloc followed by a memcpy with a direct call to
> kmemdup.
>
> The Coccinelle semantic patch used to make this change is as follows:
> @@
> expression from,to,size,flag;
> statement S;
> @@
>
> - to = \(kmalloc\|kzalloc\)(size,flag);
> + to = kmemdup(from,size,flag);
> if (to==NULL || ...) S
> - memcpy(to, from, size);
>
> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@xxxxxxxxx>

Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx>

> ---
> net/tipc/server.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/net/tipc/server.c b/net/tipc/server.c
> index 2446bfb..38a6f33 100644
> --- a/net/tipc/server.c
> +++ b/net/tipc/server.c
> @@ -411,13 +411,12 @@ static struct outqueue_entry *tipc_alloc_entry(void *data, int len)
> if (!entry)
> return NULL;
>
> - buf = kmalloc(len, GFP_ATOMIC);
> + buf = kmemdup(data, len, GFP_ATOMIC);
> if (!buf) {
> kfree(entry);
> return NULL;
> }
>
> - memcpy(buf, data, len);
> entry->iov.iov_base = buf;
> entry->iov.iov_len = len;
>
>