tipc: Use kmemdup instead of kmalloc and memcpy
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Thu, 23 Jun 2016 04:49:37 +0000 (10:19 +0530)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jun 2016 13:56:58 +0000 (09:56 -0400)
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@gmail.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/server.c

index 272d20a795d520cb48a288441eac6f979365dfa7..215849ce453dfbd70bccceacc4d42b1a2a6d37d8 100644 (file)
@@ -418,13 +418,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;