Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1722751ybz; Sat, 18 Apr 2020 07:10:56 -0700 (PDT) X-Google-Smtp-Source: APiQypKdZKrxkVB0MBmVuox7tAM+VZQhXnS5Q4s+5oxJ+tU9d3nr3KRtHbie9Jehfeh3/ZhXy3vf X-Received: by 2002:a50:d5c8:: with SMTP id g8mr7483909edj.370.1587219056013; Sat, 18 Apr 2020 07:10:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587219056; cv=none; d=google.com; s=arc-20160816; b=Pdd/y2UcC9WC9a3e6kOggunntu3EtYwYLXPnO9oYueUTs52//0t3gWX+vIOWwCqE5h jo+NTt9JDgUespc/OfOGBKasOdf4VriL4w11EzHNsQYW6/itCMv39Vhjvp32Aoq3nXcM O5DdvPXnn5OUwLIY37KwZFyzO+5SwZUMhX4JBCQ2KTZHB4GPpuWaTz+GuHLjNroeVx9g GuySUZ5O+m74lMASi8/XhRaETyuEuB/wsG7wQtaYYp83VpAKTM0HiHm/gsk+NP48cRE7 ortKd0M/3MOQRW3KmfFexprq2m2cDM5evoX924mKZvfJYJy9FVIwQypGYKZ0NkdRX1+P P/Jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=m28trTQIGcSfea7QPMeLFNrP6zKIfBB/argwiifebRw=; b=gJPhn+CaT2QQhdBCWqZDkVzM1uQRzPuOkgCvNnnmilbUZjuy9Un0XFRMfcQSMY9w0O imPsRx4nPysCHkBobu/AYx0xSfHXK1ldDCXhfOPC+Kz6t5f9inXMwRGsU0H6ECkwvK73 gXOoN86F5ni4060GtI4lEZ/HLIRx3x6MHy2nlHPOBR5OV9Fty7DrfIDxAqa6Zp+Eya2L 7X9V3+XEbho+CjOJroAEq2JutcJsR96om/h8L24iyzrs2uquKr3FeioJh4nYgg2r9/zP 7vonmc+BNooOyY+UegSN6C+hCLrjp+LVKNhP4GE/X5AJq90NHuZm1BWJh42Z0egsNPT2 RA9w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=edo3TLT8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jr4si15584785ejb.114.2020.04.18.07.10.33; Sat, 18 Apr 2020 07:10:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=edo3TLT8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726436AbgDROJ1 (ORCPT + 99 others); Sat, 18 Apr 2020 10:09:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:36680 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726381AbgDROJX (ORCPT ); Sat, 18 Apr 2020 10:09:23 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 1ECE221BE5; Sat, 18 Apr 2020 14:09:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587218962; bh=ph0iQQL/AbdQ9iyH2X+nCR5kmfMMJ5dzpVPItmfr5Ow=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=edo3TLT8KEc3e6C7tue/mZiTpVHl7yJJT7KjDVDnGOdE2KyQ4uWLu1JQphQDn3jHS fXu8SYXB4J2bQhYYIsnKhAAm5QQfISy1LwLuR9D1ARyXwC2NzN18w3XK12nnFZTqhe BfosbJqMyhXac7he3IGf+OztvC1CEpATm2HhC4hI= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: James Smart , Dick Kennedy , "Martin K . Petersen" , Sasha Levin , linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 5.5 10/75] scsi: lpfc: Fix crash after handling a pci error Date: Sat, 18 Apr 2020 10:08:05 -0400 Message-Id: <20200418140910.8280-10-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200418140910.8280-1-sashal@kernel.org> References: <20200418140910.8280-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: James Smart [ Upstream commit 4cd70891308dfb875ef31060c4a4aa8872630a2e ] Injecting EEH on a 32GB card is causing kernel oops The pci error handler is doing an IO flush and the offline code is also doing an IO flush. When the 1st flush is complete the hdwq is destroyed (freed), yet the second flush accesses the hdwq and crashes. Added a check in lpfc_sli4_fush_io_rings to check both the HBA_IOQ_FLUSH flag and the hdwq pointer to see if it is already set and not already freed. Link: https://lore.kernel.org/r/20200322181304.37655-6-jsmart2021@gmail.com Signed-off-by: James Smart Signed-off-by: Dick Kennedy Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/lpfc/lpfc_sli.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 993b1056beb83..909554c7c1273 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -4046,6 +4046,11 @@ lpfc_sli_flush_io_rings(struct lpfc_hba *phba) struct lpfc_iocbq *piocb, *next_iocb; spin_lock_irq(&phba->hbalock); + if (phba->hba_flag & HBA_IOQ_FLUSH || + !phba->sli4_hba.hdwq) { + spin_unlock_irq(&phba->hbalock); + return; + } /* Indicate the I/O queues are flushed */ phba->hba_flag |= HBA_IOQ_FLUSH; spin_unlock_irq(&phba->hbalock); -- 2.20.1