From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755037AbcBEPmf (ORCPT ); Fri, 5 Feb 2016 10:42:35 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:39255 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754947AbcBEPmc (ORCPT ); Fri, 5 Feb 2016 10:42:32 -0500 Subject: Re: [PATCH 1/2] xen/scsiback: correct frontend counting To: Juergen Gross , linux-kernel@vger.kernel.org, xen-devel@lists.xen.org, konrad.wilk@oracle.com, david.vrabel@citrix.com References: <1454678123-7632-1-git-send-email-jgross@suse.com> <1454678503-7999-1-git-send-email-jgross@suse.com> Cc: stable@vger.kernel.org From: Boris Ostrovsky Message-ID: <56B4C2D6.6010107@oracle.com> Date: Fri, 5 Feb 2016 10:42:14 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1454678503-7999-1-git-send-email-jgross@suse.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Source-IP: userv0022.oracle.com [156.151.31.74] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/05/2016 08:21 AM, Juergen Gross wrote: > When adding a new frontend to xen-scsiback don't decrement the number > of active frontends in case of no error. Not doing so results in a I think you meant "Doing so". Reviewed-by: Boris Ostrovsky > failure when trying to remove the xen-pvscsi nexus even if no domain > is using it. > > Signed-off-by: Juergen Gross > Cc: stable@vger.kernel.org > --- > drivers/xen/xen-scsiback.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c > index ad4eb10..51387d7 100644 > --- a/drivers/xen/xen-scsiback.c > +++ b/drivers/xen/xen-scsiback.c > @@ -939,12 +939,12 @@ out: > spin_unlock_irqrestore(&info->v2p_lock, flags); > > out_free: > - mutex_lock(&tpg->tv_tpg_mutex); > - tpg->tv_tpg_fe_count--; > - mutex_unlock(&tpg->tv_tpg_mutex); > - > - if (err) > + if (err) { > + mutex_lock(&tpg->tv_tpg_mutex); > + tpg->tv_tpg_fe_count--; > + mutex_unlock(&tpg->tv_tpg_mutex); > kfree(new); > + } > > return err; > }