From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <4F2F2445.9080604@cn.fujitsu.com> Date: Mon, 06 Feb 2012 08:52:21 +0800 From: Wanlong Gao Reply-To: gaowanlong@cn.fujitsu.com MIME-Version: 1.0 To: Luben Tuikov CC: Willy Tarreau , "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" , James Bottomley , Greg KH Subject: Re: [PATCH 32/91] libsas: remove expander from dev list on error References: <20120205220950.812864962@pcw.home.local> <4C7B5EA1-AE40-4E64-92CC-24277900A99E@yahoo.com> In-Reply-To: <4C7B5EA1-AE40-4E64-92CC-24277900A99E@yahoo.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: On 02/06/2012 07:48 AM, Luben Tuikov wrote: > Isn't this my patch? Are you submitting it as your own? No, he just wanna backport to the stable. > > Luben > > > On Feb 5, 2012, at 14:10, Willy Tarreau wrote: > >> 2.6.27-longterm review patch. If anyone has any objections, please let us know. >> >> ------------------ >> >> commit 5911e963d3718e306bcac387b83e259aa4228896 upstream. >> >> If expander discovery fails (sas_discover_expander()), remove the >> expander from the port device list (sas_ex_discover_expander()), >> before freeing it. Else the list is corrupted and, e.g., when we >> attempt to send SMP commands to other devices, the kernel oopses. >> >> Signed-off-by: Luben Tuikov >> Reviewed-by: Jack Wang >> Signed-off-by: James Bottomley >> Signed-off-by: Greg Kroah-Hartman >> --- >> drivers/scsi/libsas/sas_expander.c | 3 +++ >> 1 files changed, 3 insertions(+), 0 deletions(-) >> >> Index: longterm-2.6.27/drivers/scsi/libsas/sas_expander.c >> =================================================================== >> --- longterm-2.6.27.orig/drivers/scsi/libsas/sas_expander.c 2012-02-05 22:34:34.059914940 +0100 >> +++ longterm-2.6.27/drivers/scsi/libsas/sas_expander.c 2012-02-05 22:34:39.404915902 +0100 >> @@ -839,6 +839,9 @@ >> >> res = sas_discover_expander(child); >> if (res) { >> + spin_lock_irq(&parent->port->dev_list_lock); >> + list_del(&child->dev_list_node); >> + spin_unlock_irq(&parent->port->dev_list_lock); >> kfree(child); >> return NULL; >> } >> >> > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >