From patchwork Sat Jan 21 15:24:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 718066 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3v5LyF3sgZz9svs for ; Sun, 22 Jan 2017 02:26:13 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3v5LyF2xCwzDqk2 for ; Sun, 22 Jan 2017 02:26:13 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mout.web.de (mout.web.de [212.227.15.4]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3v5LxD0w4rzDqQy for ; Sun, 22 Jan 2017 02:25:19 +1100 (AEDT) Received: from [192.168.1.2] ([78.49.16.114]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0M0w07-1cFtOD0G2J-00v8OL; Sat, 21 Jan 2017 16:25:02 +0100 To: linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , Michael Ellerman , Paul Mackerras From: SF Markus Elfring Subject: [PATCH] powerpc/mm: Return directly after a failed __copy_from_user() in sys_subpage_prot() Message-ID: <5f910c33-c811-2197-0adb-c55f7722c5a7@users.sourceforge.net> Date: Sat, 21 Jan 2017 16:24:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 X-Provags-ID: V03:K0:4CkcLEIE3MYN2PBYXBhn0fAnin3RNLdroMW2qZ6T+m9bOY2nZFw l3XczcFo63O/WxdJqtV11F1rpoblhexCNvdmukIJpAeItbD48a91xcxcjF5Zxy2lVJN83Db C2zhrboukehRk4H9eMFu0ChjAIy5b0cxTJJOw9I+yfpjN7TB0iDXa241c20hwp6BrBt3TIa 6u1bN/D2A3KezcEJXCgrQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:Xpb9gT+8mBM=:wQdhxek7ObHwF50M4Fggre Pu3NaS60Gq6kJLqrPfmNRlGzrT9XY6v8nAD7Vn+Rg1GnIJiyPxHTFTAPaUFaMWmFGUe8Rw/3i qMUQIvTcHh9ToNyLLSXyyR0YENrlkuxC4g8/BDmRJXdCN65T1+IlrcDtBUkcmeR5TOtgViijL qAfDBaqbvKZehbMkXV3YF43qcfdWWAceVgGXhXo4z7Bq7pttIm5a9xyfx4bu+NUB2ydTvm2mk OBEff2pIySIWWZq3MBVUgr9NXrKxWjBqT5cRi0nMGG+tEEPt855SgUuwxJiafLUNwbgOuKlLp Ipw3vqjAnxQ1QQoYgmcxZgb5lhbWv7OHrD2vLwAvdjTKhGfGnaU588VKtSiQFVpEV7HvZKuXT R8p9A+XogcLvyPXX3I6FzzR4P08AHKCdft+gbkeQRYhmrA+pRQ2FwamzWtzmLu3Fjrud8iB2V fKix7vftUsp1a5ty1plgFSC9jV0ScziQsoZV0ils0B7OgxN3WnATTw/t1tlJxXPKFj2DyLY1N yrhGs8TBWFx8bxnxlC88A1wXxTw/qG7J2IPjF02kFUg0L7OZbr7lNH8jED86R7+q2TMHnXxO6 aZdgFEkYGg0Es2B2B3sG6dxClCYE5TfZh5VOLOczQ5ZXORTBIKHn0OwmGxf3My2yr2/KboFJp E4xGKjBfVrmKulVKFX5DWrErxh9pMCsTgfhi2v24A4T2vhCQXKKKhK6JOqp++qW45bmvPwpWo rcaxxcQ7NgnonqX1EuIzplkNUaUzLHIfyCqK8YHbu/kPgHTcDYsbgO4a5KRoJ5xKimDPGGJMe KEh1RQP X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel-janitors@vger.kernel.org, LKML Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Markus Elfring Date: Sat, 21 Jan 2017 16:10:50 +0100 * Return directly after a call of the function "__copy_from_user" failed here. This issue was detected by using the Coccinelle software. * Delete the jump label "out2" which became unnecessary with this refactoring. Signed-off-by: Markus Elfring --- arch/powerpc/mm/subpage-prot.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/arch/powerpc/mm/subpage-prot.c b/arch/powerpc/mm/subpage-prot.c index d5543514c1df..40309edd7cb7 100644 --- a/arch/powerpc/mm/subpage-prot.c +++ b/arch/powerpc/mm/subpage-prot.c @@ -248,9 +248,8 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map) nw = (next - addr) >> PAGE_SHIFT; up_write(&mm->mmap_sem); - err = -EFAULT; if (__copy_from_user(spp, map, nw * sizeof(u32))) - goto out2; + return -EFAULT; map += nw; down_write(&mm->mmap_sem); @@ -262,6 +261,5 @@ long sys_subpage_prot(unsigned long addr, unsigned long len, u32 __user *map) err = 0; out: up_write(&mm->mmap_sem); - out2: return err; }