From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933050AbcHXPKS (ORCPT ); Wed, 24 Aug 2016 11:10:18 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:39447 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932184AbcHXPKQ (ORCPT ); Wed, 24 Aug 2016 11:10:16 -0400 X-IBM-Helo: d06dlp03.portsmouth.uk.ibm.com X-IBM-MailFrom: borntraeger@de.ibm.com X-IBM-RcptTo: kernel-janitors@vger.kernel.org;kvm@vger.kernel.org;linux-kernel@vger.kernel.org;linux-s390@vger.kernel.org Subject: Re: [PATCH 3/4] KVM-S390: Less function calls in kvm_s390_import_bp_data() after error detection To: SF Markus Elfring , kvm@vger.kernel.org, linux-s390@vger.kernel.org, Cornelia Huck , David Hildenbrand , Heiko Carstens , Martin Schwidefsky , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= References: <82b84c9c-38a4-4d17-910f-312668dbae01@users.sourceforge.net> <47f88a11-b949-28ed-5589-925888a37574@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: Christian Borntraeger Date: Wed, 24 Aug 2016 11:10:03 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: <47f88a11-b949-28ed-5589-925888a37574@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16082415-0028-0000-0000-00000206A3F6 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16082415-0029-0000-0000-0000200B5265 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-08-24_08:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1608240140 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/17/2016 02:10 PM, SF Markus Elfring wrote: > From: Markus Elfring > Date: Wed, 17 Aug 2016 19:25:50 +0200 > > The kfree() function was called in a few cases by the > kvm_s390_import_bp_data() function during error handling > even if a passed variable contained a null pointer. > > Adjust jump targets according to the Linux coding style convention. > > Signed-off-by: Markus Elfring > --- > arch/s390/kvm/guestdbg.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c > index 8f886ee..f2514af 100644 > --- a/arch/s390/kvm/guestdbg.c > +++ b/arch/s390/kvm/guestdbg.c > @@ -239,7 +239,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, > wp_info = kmalloc(size, GFP_KERNEL); > if (!wp_info) { > ret = -ENOMEM; > - goto error; > + goto free_bp_data; > } > } > size = nr_bp * sizeof(*bp_info); > @@ -247,7 +247,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, > bp_info = kmalloc(size, GFP_KERNEL); > if (!bp_info) { > ret = -ENOMEM; > - goto error; > + goto free_wp_info; > } > } > > @@ -257,7 +257,7 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, > ret = __import_wp_info(vcpu, &bp_data[i], > &wp_info[nr_wp]); > if (ret) > - goto error; > + goto free_bp_info; > nr_wp++; > break; > case KVM_HW_BP: > @@ -273,10 +273,12 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu, > vcpu->arch.guestdbg.nr_hw_wp = nr_wp; > vcpu->arch.guestdbg.hw_wp_info = wp_info; > return 0; > -error: > - kfree(bp_data); > - kfree(wp_info); > +free_bp_info: > kfree(bp_info); > +free_wp_info: > + kfree(wp_info); > +free_bp_data: > + kfree(bp_data); > return ret; > } I agree with Cornelia, while it seems correct from a technical point of view, it will make the code harder to maintain. For example if we ever add a new malloc and remove another one over time we would need to reshuffle the labels and this did went wrong several times in the past. Christian