From patchwork Sun Mar 11 08:16:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 884228 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 3zzZCQ2qB4zB31g for ; Sun, 11 Mar 2018 19:33:54 +1100 (AEDT) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=users.sourceforge.net Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3zzZCQ02HKzDqFl for ; Sun, 11 Mar 2018 19:33:54 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=users.sourceforge.net X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=users.sourceforge.net (client-ip=212.227.17.12; helo=mout.web.de; envelope-from=elfring@users.sourceforge.net; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=users.sourceforge.net X-Greylist: delayed 497 seconds by postgrey-1.36 at bilbo; Sun, 11 Mar 2018 19:31:21 AEDT Received: from mout.web.de (mout.web.de [212.227.17.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3zzZ8T5xp3zDrWN for ; Sun, 11 Mar 2018 19:31:21 +1100 (AEDT) Received: from [192.168.1.2] ([77.182.27.43]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MWB8f-1fAX3Y19YX-00XMFQ; Sun, 11 Mar 2018 09:16:57 +0100 To: linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , Borislav Petkov , Brijesh Singh , Josh Sklar , Kees Cook , Michael Ellerman , Paul Mackerras , Thiago Jung Bauermann , Thomas Gleixner , Tom Lendacky From: SF Markus Elfring Subject: [PATCH] powerpc: Use common error handling code in setup_new_fdt() Message-ID: <0dd9d938-8d89-f0e0-f05f-9a3e5dc42a57@users.sourceforge.net> Date: Sun, 11 Mar 2018 09:16:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Language: en-GB X-Provags-ID: V03:K0:8BWavJHWazl5IkpgzQ6ewok6qzGaEIAwf6UzDQjs+lkOJKQrN/v j/DezU+n1Ka9xaXtGyp2EJntQ+kdtEFIFgSlDCi7yB1v1loze0nfC0BFdXL+JXKWtH5sdfC RVMkCobMUMOWtgW+X4HaFjoB55+9b0w9ok+eY75VktiRU4T3zuiKq9IZg+7R3k4nlMAaNGJ T7B2UlOIIX7QSyi6KDHHA== X-UI-Out-Filterresults: notjunk:1; V01:K0:sYHgrVOhKRg=:tUYA5tSYBjpIh8FnXGHhZl sVNR4qjbN9Jg8HSdUgsVO9oGbCY17NkOkxyetCNdg6PAdpMWPFc2peG+wg7FgREV9kZF+WFaw c06jYzZqwg5lcsDLReomVRyAy1g+nsl5wstGO9RAiAex4tM7pFG/8KxF5VUEsKZyAE6UMlT2q DGVK0cPgVR1XUnHGcqpe086PJ6p+IdsK8ixOlqNsOsEIlOozRmdfqi1DMW05x/QHXDYqs/f+h G9Bi0TzjTgYgMdoapGWcCbjt0i3OAV5csS15CGtHPu4BPmT38mYaHK6JE3s4kyqWkENLcS3SL dLM1NG3NRVZMzTN0ESHSq1DUIREBuk0EVStttyJbx6HS/RM2MbeLBWGluI8dDiT3DTiK69F+y BWvbpCzEz11uqrs6zHymvmefVxa0RXnbhpkCSJNldgPkm9BgLznLfcujqbeFnGauhrohCLnEF FLJ4zlprpX4K0lVghu+qbBxdeoij5J9aa6D1hqULOxcy5GFXJrvtFT4gne/mcq4di8SdfxFdl Z96Dzd1TOO6LTWnBf0yu3OX4pMsdksRjBFssK5sTR2XzBLJvw4o67rdJ8lemdaUV09qrLZBVv NcWyVVrYAcfI0o3h2Yj7MURqDSO+2EC7pEmSTDHEkUGjBeXgWznuGw+n+Ef4jUBUmRcS2MhN0 D/Z1JVgKOluDB9MGV2WveIUINpYOZZmxzrmf6Ihe6S9YhpNRTHDMNFpZLcmGEBtbB6LQk4Vxp DqRDUgFs060M5K3MqlsPHcd52IEGwAkB+Wci13YpoEDJPmC77WgSLD84pTqrSJhXddwIySccV NDRCWL6I6xe38rb3cT/N4ROg58E2yGRtrDnSa/JJY5A4nROB+g= X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.26 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: Sun, 11 Mar 2018 09:03:42 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring Reviewed-by: Thiago Jung Bauermann --- arch/powerpc/kernel/machine_kexec_file_64.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/arch/powerpc/kernel/machine_kexec_file_64.c b/arch/powerpc/kernel/machine_kexec_file_64.c index e4395f937d63..90c6004c2eec 100644 --- a/arch/powerpc/kernel/machine_kexec_file_64.c +++ b/arch/powerpc/kernel/machine_kexec_file_64.c @@ -302,18 +302,14 @@ int setup_new_fdt(const struct kimage *image, void *fdt, ret = fdt_setprop_u64(fdt, chosen_node, "linux,initrd-start", initrd_load_addr); - if (ret < 0) { - pr_err("Error setting up the new device tree.\n"); - return -EINVAL; - } + if (ret < 0) + goto report_setup_failure; /* initrd-end is the first address after the initrd image. */ ret = fdt_setprop_u64(fdt, chosen_node, "linux,initrd-end", initrd_load_addr + initrd_len); - if (ret < 0) { - pr_err("Error setting up the new device tree.\n"); - return -EINVAL; - } + if (ret < 0) + goto report_setup_failure; ret = fdt_add_mem_rsv(fdt, initrd_load_addr, initrd_len); if (ret) { @@ -325,10 +321,8 @@ int setup_new_fdt(const struct kimage *image, void *fdt, if (cmdline != NULL) { ret = fdt_setprop_string(fdt, chosen_node, "bootargs", cmdline); - if (ret < 0) { - pr_err("Error setting up the new device tree.\n"); - return -EINVAL; - } + if (ret < 0) + goto report_setup_failure; } else { ret = fdt_delprop(fdt, chosen_node, "bootargs"); if (ret && ret != -FDT_ERR_NOTFOUND) { @@ -344,10 +338,12 @@ int setup_new_fdt(const struct kimage *image, void *fdt, } ret = fdt_setprop(fdt, chosen_node, "linux,booted-from-kexec", NULL, 0); - if (ret) { - pr_err("Error setting up the new device tree.\n"); - return -EINVAL; - } + if (ret) + goto report_setup_failure; return 0; + +report_setup_failure: + pr_err("Error setting up the new device tree.\n"); + return -EINVAL; }