From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751404AbdAUSOA (ORCPT ); Sat, 21 Jan 2017 13:14:00 -0500 Received: from mout.web.de ([217.72.192.78]:50547 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750938AbdAUSNr (ORCPT ); Sat, 21 Jan 2017 13:13:47 -0500 Subject: [PATCH 3/5] s390/pci: Move three assignments for the variable "rc" in clp_normal_command() To: linux-s390@vger.kernel.org, =?UTF-8?Q?Gerald_Sch=c3=a4fer?= , Heiko Carstens , Martin Schwidefsky , Sebastian Ott References: Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Message-ID: Date: Sat, 21 Jan 2017 19:12:27 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:QKsKOj2ZwaZu5MOdv6EcymAVxo0pNjcsYHCU8+nSOQxdl5Se79J dALh1JdWMo1WY9sRnSEc8+AXHmtVvDVgcfN4A2vfzTeA0WUcKevF7zdWqh/h09U7iijeqg4 Tq5wZJR3rcaDFRfCrf560dCx1qXGvPNbKmVhESoBCFQ7q/6iAO0zzeNdumLHs4+WJ8P5urc wtGKxA5ku0htUlBrdDeug== X-UI-Out-Filterresults: notjunk:1;V01:K0:HBai1q1A3U4=:6nneObihrGrw/zJUJjsnDv huLb3nm6guTdoo3LMmZtpI7PNGTLlrhRvLv/9ya+zhYXVybvKzt9VNJuifia9f/X+PQTCSCVI a9UP33p7giZ/UbbcuCPaxLK0u2d0xiM6H21DExgywnAcj3sFAsstzfzliU8uIF2x/TeeD14vf BGU4iDzh/ZGTJk61Bczhzr9BiTyPOZdIHjhmu7AEmQGlw1Rlvrw9Tgrc/vtL2Q/j+DmgfP7hq nbumHR2ooSZ12sBTZHnhB/8FRU15+E3KbIFfBG+He2ZuTWQXu43rI0c1AtfZ51pedH85Go1+r UFzTBCBB7x9zVBGsgMy3Yy9YrYDW1gOUsku1URBQG5zP54hTCBBlagXXaoDR2fY2iF7aFlNvg ycYu7QIZYt0jxIFOhuUbrQ7dukLqk/rnQ+brxULYVhciEiOKfnF36Z19eG+d49gJgHRPwHZGG YlL1WOBXTtEjSwF9XQpgkTPD/6VbZuyF1B3w6JWV4nnciSmX9Kf8f/AMQ7NBUXsuUL4pob01Z OymE9L2kwsiHpSzPFb7GhIt4FxW1yM/orBwOsIEhAST5QNHw/qdu1s7RZrrZoqLBRD9OHXNDz 5rq7+HPW8vR5g9VzCNlPn20hKUm6g58TUrOz2WS7osDPv+lF6zOVpR91XU9vg7pnnxJVycZiU UbLR/+8JssRRrf0b+14ZG/triUsezc5TEvg01DT8HYyNE5h/9OVi9cTxeZkDhvJ3o7hO8NXRN MvTIWd6l+7geKOtNtBFOHfuRUc/3ir3bK9NN2lCbnRnIKq8LGeORYVm79EAB/fC28OC134ak4 dKj9JyV Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sat, 21 Jan 2017 18:10:57 +0100 A local variable was set to an error code before a concrete error situation was detected. Thus move the corresponding assignments into if branches to indicate a software failure there. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- arch/s390/pci/pci_clp.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/arch/s390/pci/pci_clp.c b/arch/s390/pci/pci_clp.c index 28e13fa7a79c..bde0291cc724 100644 --- a/arch/s390/pci/pci_clp.c +++ b/arch/s390/pci/pci_clp.c @@ -521,14 +521,16 @@ static int clp_normal_command(struct clp_req *req) if (!lpcb) return -ENOMEM; - rc = -EFAULT; uptr = (void __force __user *)(unsigned long) req->data_p; - if (copy_from_user(lpcb, uptr, PAGE_SIZE) != 0) + if (copy_from_user(lpcb, uptr, PAGE_SIZE) != 0) { + rc = -EFAULT; goto out_free; + } - rc = -EINVAL; - if (lpcb->fmt != 0 || lpcb->reserved1 != 0 || lpcb->reserved2 != 0) + if (lpcb->fmt != 0 || lpcb->reserved1 != 0 || lpcb->reserved2 != 0) { + rc = -EINVAL; goto out_free; + } switch (req->lps) { case 0: @@ -541,9 +543,8 @@ static int clp_normal_command(struct clp_req *req) if (rc) goto out_free; - rc = -EFAULT; if (copy_to_user(uptr, lpcb, PAGE_SIZE) != 0) - goto out_free; + rc = -EFAULT; rc = 0; -- 2.11.0