From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751888AbcF0HiJ (ORCPT ); Mon, 27 Jun 2016 03:38:09 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:33654 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751385AbcF0HiH (ORCPT ); Mon, 27 Jun 2016 03:38:07 -0400 Subject: Re: [PATCH] tipc: Use kmemdup instead of kmalloc and memcpy To: Amitoj Kaur Chawla , jon.maloy@ericsson.com, davem@davemloft.net, netdev@vger.kernel.org, tipc-discussion@lists.sourceforge.net, linux-kernel@vger.kernel.org References: <20160623044937.GA14109@amitoj-Inspiron-3542> Cc: julia.lawall@lip6.fr From: Ying Xue Message-ID: <5770D7D2.7070204@gmail.com> Date: Mon, 27 Jun 2016 15:37:54 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <20160623044937.GA14109@amitoj-Inspiron-3542> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Acked-by: Ying Xue > --- > 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; > >