Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1761327ybz; Sat, 18 Apr 2020 07:58:12 -0700 (PDT) X-Google-Smtp-Source: APiQypL0vLgEBtKSY+6ST0VmDIP14qdahYxjfomBegYxHoFbvdpWFS0SE86h5ZWEsyxUXY3/KzC5 X-Received: by 2002:a17:906:5e50:: with SMTP id b16mr8321293eju.331.1587221892580; Sat, 18 Apr 2020 07:58:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587221892; cv=none; d=google.com; s=arc-20160816; b=iI6VZ97JApl1I6lXkRaTo6Dzp/bXDLkTALeXdr7rA7uPldPdNuB9BZ0AgzUaRQeYpO B8S6SPtWt0tEyAL3vUQi4Xg5tWX1L3Yhhj1zzN1siYNG0nAc7uhjS3Wd8AiqUCwYurPG xp/M4YPeyh5vuDpNHAZnNaZ3p7XSHAvnaAeM0imEpT8tjf9dNX4m5YTXsyWZX6lZtUF1 ipsIf3efRuzsCBnWl6dB0p9t0DULAmpHJ5yfOc51PQMEZP9TcrakLqkwWG7MIkcDVUcg NtjcknAAca8vPVZr/U4OO+YCfxeU0dF0EKAISPUDIBaad75+QFIJHjYVxGUE2JGV3Een Ngvg== 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=zDjm5WQ1rC6AuGyDQ4KkhuNrAG+05tgDE8POwDi4FGs=; b=oxRhvw11oj18pdRx/fPdw1gNYzSHmOVjfhp8+Jz9UPdL+O02EeG+kfoOzHOWeyZYnK wXX+ZVPKGja6unrTGkwl09nhgw/DoRXMLcp2GpfPe9RlwmtMty8raDG89LQWe8Lo0HxS 9CU+Q2TVQyUjylmAyov1pPQWUom9n9G+aG5PGMMTPd492GPoRohcOTyVXw6k3OhUcudp lwS33NodyqPylLGZdnGpIqOQbWn0VHkB41FF27sU1R4NaFCPHeU7BptulIUTCSJ+CceX J8AHixARyu3pOfi8G69VMqxw7G6aztNvoJoOfKZDqKtv/CLj46ZXX8FmGan1FXS7U6YC SAng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=2bui66LW; 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 a4si15589883eds.587.2020.04.18.07.57.49; Sat, 18 Apr 2020 07:58:12 -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=2bui66LW; 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 S1728482AbgDROzy (ORCPT + 99 others); Sat, 18 Apr 2020 10:55:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:49600 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726829AbgDROk7 (ORCPT ); Sat, 18 Apr 2020 10:40:59 -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 3E3CB22260; Sat, 18 Apr 2020 14:40:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1587220859; bh=Mdw7Him3EymDcdIY7gAAk8w+vDf/GjKNRMZsatnbAuY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2bui66LWaOOdDNSxb1B78BTRiN08hljw/sQI/BU6T7cJn/wrhQSDA2zp3+baXbZcY CZMGfBHkpOmhd2p0x/FY9wNz7Vp7jgCBimzSTnyOuXDaH6QbHVfQTDLm0LNNd7yhVt CgWLgDwa9AA9WkPsWewFtboQwuJ2hYB0FH6PO8rc= 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.4 09/78] scsi: lpfc: Fix crash after handling a pci error Date: Sat, 18 Apr 2020 10:39:38 -0400 Message-Id: <20200418144047.9013-9-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200418144047.9013-1-sashal@kernel.org> References: <20200418144047.9013-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 8836c5682c8d5..4e04270cc5c4f 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c @@ -4012,6 +4012,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