From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753096AbcHTInH (ORCPT ); Sat, 20 Aug 2016 04:43:07 -0400 Received: from [195.159.176.226] ([195.159.176.226]:35068 "EHLO blaine.gmane.org" rhost-flags-FAIL-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1751385AbcHTInF (ORCPT ); Sat, 20 Aug 2016 04:43:05 -0400 X-Injected-Via-Gmane: http://gmane.org/ To: linux-kernel@vger.kernel.org From: Christophe JAILLET Subject: Re: [PATCH] wan-cosa: Use memdup_user() rather than duplicating its implementation Date: Sat, 20 Aug 2016 10:42:54 +0200 Message-ID: References: <5d335025-5f52-d4b6-0b60-89a2fd354694@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@blaine.gmane.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 In-Reply-To: <5d335025-5f52-d4b6-0b60-89a2fd354694@users.sourceforge.net> X-Antivirus: avast! (VPS 160819-1, 19/08/2016), Outbound message X-Antivirus-Status: Clean Cc: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 20/08/2016 à 10:25, SF Markus Elfring a écrit : > From: Markus Elfring > Date: Sat, 20 Aug 2016 10:10:12 +0200 > > Reuse existing functionality from memdup_user() instead of keeping > duplicate source code. > > This issue was detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring > --- > drivers/net/wan/cosa.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c > index b87fe0a..02f5809 100644 > --- a/drivers/net/wan/cosa.c > +++ b/drivers/net/wan/cosa.c > @@ -875,16 +875,10 @@ static ssize_t cosa_write(struct file *file, > if (count > COSA_MTU) > count = COSA_MTU; > > - /* Allocate the buffer */ > - kbuf = kmalloc(count, GFP_KERNEL|GFP_DMA); In this case, 'memdup_user()' has a different meaning, as GFP_DMA will no more be used for this memory allocation. > - if (kbuf == NULL) { > + kbuf = memdup_user(buf, count); > + if (IS_ERR(kbuf)) { > up(&chan->wsem); > - return -ENOMEM; > - } > - if (copy_from_user(kbuf, buf, count)) { > - up(&chan->wsem); > - kfree(kbuf); > - return -EFAULT; > + return PTR_ERR(kbuf); > } > chan->tx_status=0; > cosa_start_tx(chan, kbuf, count); --- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus