From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754238AbcG1JCx (ORCPT ); Thu, 28 Jul 2016 05:02:53 -0400 Received: from aserp1040.oracle.com ([141.146.126.69]:18310 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753046AbcG1JCV (ORCPT ); Thu, 28 Jul 2016 05:02:21 -0400 From: Bob Liu To: linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org, konrad.wilk@oracle.com, roger.pau@citrix.com, Bob Liu Subject: [PATCH 3/3] xen-blkfront: free resources if xlvbd_alloc_gendisk fails Date: Thu, 28 Jul 2016 17:01:44 +0800 Message-Id: <1469696505-30833-3-git-send-email-bob.liu@oracle.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1469696505-30833-1-git-send-email-bob.liu@oracle.com> References: <1469696505-30833-1-git-send-email-bob.liu@oracle.com> X-Source-IP: userv0021.oracle.com [156.151.31.71] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Current code forgets to free resources in the failure path of xlvbd_alloc_gendisk(), this patch fix it. Signed-off-by: Bob Liu --- drivers/block/xen-blkfront.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index d5ed60b..d8429d4 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c @@ -2446,7 +2446,7 @@ static void blkfront_connect(struct blkfront_info *info) if (err) { xenbus_dev_fatal(info->xbdev, err, "xlvbd_add at %s", info->xbdev->otherend); - return; + goto fail; } xenbus_switch_state(info->xbdev, XenbusStateConnected); @@ -2459,6 +2459,11 @@ static void blkfront_connect(struct blkfront_info *info) add_disk(info->gd); info->is_ready = 1; + return; + +fail: + blkif_free(info, 0); + return; } /** -- 1.7.10.4