From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752168AbdKUMqo (ORCPT ); Tue, 21 Nov 2017 07:46:44 -0500 Received: from mout.web.de ([217.72.192.78]:57493 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751804AbdKUMqm (ORCPT ); Tue, 21 Nov 2017 07:46:42 -0500 To: kvm@vger.kernel.org, Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] kvm_main: Use common error handling code in kvm_dev_ioctl_create_vm() Message-ID: <46892736-f9a1-cd30-0968-80c0cf41c3ee@users.sourceforge.net> Date: Tue, 21 Nov 2017 13:46:35 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:GXkhugAOGXcRQ3zzP0x7hr0rTN/gC5MrPYFFjSW5V8f8I+4zbyj L+Xe21nxTtB0Hg0DNLQolpijeP9Dc/XECMcF8d/baIHbjylogeIE9n8r6tcoTKFELNCauFq B10DrEJ/vtpFZj/XRp6tNJIbU+Ljb4KFEqY0BqHQRalMUY8w/UAXE25pNF5Yk2u1Fpf/A1y Skzdeq2aK2++ZLu7Um5LA== X-UI-Out-Filterresults: notjunk:1;V01:K0:rCMoNRK410c=:cjFTTKKDUmnaHMmjFxZ7Uu n6gvVI0fi0erCSgKFjCkh6Gi4KeTfDNQfuGCAxuVgIxusK+GwSylRbCYCFANAEvaCKk5sESTo O39JQH4kapBL2IhDhmVQJlvc/gObruH1Tgtsw5nVvonzXBzrZTKJVqgDxDq/R+TqfI38sgkFN uFSvICNhqD0W6X6zDZX4uvFiDNeLQ2TikxqOvdtwJhf7pQRTMcwSu8oz9N61LcZoz02zRdX8b /9Z0qBbUQuUddjHUlNeYYhuCGNwVGZAQCsc3w5fnHj52h/xZSnogvM1UrFBAc0Rtf/7RR+3LQ KTXdywbaspMnjVCjYte/waN6m/XDHy5jODMgUvIW/kPvzQOtrSvgw0Y/zdeYBJCmMGnLNJVXK +VY/ae3XUko0sWO2imrxslPXSBuIXhUEdZk4SXO1HGC7ZSeBQMENO0Gtx0Tlm9F/uwhaSxHpe zO6S+tv9cfNRkczzPtK+myMEldEKgFq1YkHxUMDLKtV6GEgzHH8SDUaPKPeJgm4f41A+4xmwH OlKtDy77nAh61rVVwA1+uAVVFpgwnU322J/ftn3x8XM9XjfvpETrq+k+z1/1nYpP44CNBc26U mKMYBj9DJx2kfEJDGlHL3hXy/sOxB2fBJVz5Tf/h3xdGPnek60dH/ygM1c3BkH1ZUT8O92Qwi /U87RL4RtpPgsP7FcLqBDw4GtWCHSXm2fAWYCGwnbvnKivsoqcOzKlnZJPOfv4b7XyRiI27M+ f3zflBpm1V4UPtTw+JWCOERHu9GvYpH4C7P2cMwG8chOCwnPulCrfZ3Ry/8veLU9MWOtNveqi NgMAY9yC7Z+weCJOCw4T2AlQ23A3ZihDPmW8nOq4ZxuBFdw89w= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Tue, 21 Nov 2017 13:40:17 +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 --- virt/kvm/kvm_main.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 39e4db469f2e..c84341c79955 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -3155,21 +3155,18 @@ static int kvm_dev_ioctl_create_vm(unsigned long type) return PTR_ERR(kvm); #ifdef CONFIG_KVM_MMIO r = kvm_coalesced_mmio_init(kvm); - if (r < 0) { - kvm_put_kvm(kvm); - return r; - } + if (r < 0) + goto put_kvm; #endif r = get_unused_fd_flags(O_CLOEXEC); - if (r < 0) { - kvm_put_kvm(kvm); - return r; - } + if (r < 0) + goto put_kvm; + file = anon_inode_getfile("kvm-vm", &kvm_vm_fops, kvm, O_RDWR); if (IS_ERR(file)) { put_unused_fd(r); - kvm_put_kvm(kvm); - return PTR_ERR(file); + r = PTR_ERR(file); + goto put_kvm; } /* @@ -3187,6 +3184,10 @@ static int kvm_dev_ioctl_create_vm(unsigned long type) fd_install(r, file); return r; + +put_kvm: + kvm_put_kvm(kvm); + return r; } static long kvm_dev_ioctl(struct file *filp, -- 2.15.0