From patchwork Sat Aug 5 00:47:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Smart X-Patchwork-Id: 9882783 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id F0C6A6031B for ; Sat, 5 Aug 2017 00:47:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E4B5028A1D for ; Sat, 5 Aug 2017 00:47:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D0C6528A24; Sat, 5 Aug 2017 00:47:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97D6728A23 for ; Sat, 5 Aug 2017 00:47:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752592AbdHEArt (ORCPT ); Fri, 4 Aug 2017 20:47:49 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:33887 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752542AbdHEArs (ORCPT ); Fri, 4 Aug 2017 20:47:48 -0400 Received: by mail-pf0-f196.google.com with SMTP id t86so3207572pfe.1 for ; Fri, 04 Aug 2017 17:47:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=fzgNDodcF4IIjux9AIxcGLL3ico+Dtw3XC3J/vmemMA=; b=E0rzpHLSR0VLGFjXdrHiTcyZtaJvtG47nQqqlz9a1Q5APMC4fhEh4s9C6ex+5JTc6y jzf70QgX0qj7jWdng56labuUgC4WAWx3I1N2ED6L1AoIp2ncBv0mN7UylP0g6RK2eO5J WYbwXCct2seVCI2TG6Im5Aq9xI+kBgP/zPP/XvtKoISiJfihmZ8i08qqQNgTW3dechmK w5czpBBo0FXarkrL2R4EuAjnsxItKWlmoIbUMhWKxhvf31Em6ziAJ7H4QGI0AhNjFk4n u/gLWJ0ekcdKWXg7sVTrJkgUhiBBU7WjW+00rtYn0h+JBU0+hrp1LjlXTp/4WNQqi/MB tnJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=fzgNDodcF4IIjux9AIxcGLL3ico+Dtw3XC3J/vmemMA=; b=QgrgoZqNMAgWbxaqbDV3ROyjw8ItmyCgE0kpnxGy89jP2bu0bRXsQJYhwJYQLQXc7M 2kqlpp92dDLrp68WAvo/mwjaVCbJCVC8/ViVI1iXORABp2J7D1gdzFvYfLv098Mg5jsO Ip19VKNRuLchRPHJWih/3v454JYmhHm9UHSGNv1AjGbVSMJ6yDvDJGoIGZ4vFJlNDcUO F6NS8PQ9tIShm1LbYVk9P6gDjkY+EziJrvDjvC5Nt06ZuJmA7d08/viAtZMB+E+MOTnS dXUuhjCNzG/2JDEJWr4RKitaXylX+IfkbxAILdYNIAiM0inhfiKaD5Lji7rPkISXiKf8 koVw== X-Gm-Message-State: AIVw113HnUfIqYaBblALw1MMHGrawkPMm05nptmfFVtvAjkhEybSXaPY XyrsjvkTjNw7rziO X-Received: by 10.98.64.83 with SMTP id n80mr4271564pfa.225.1501894067510; Fri, 04 Aug 2017 17:47:47 -0700 (PDT) Received: from linux-8upr.localdomain (ip68-4-115-207.oc.oc.cox.net. [68.4.115.207]) by smtp.gmail.com with ESMTPSA id 69sm2725708pfh.186.2017.08.04.17.47.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 04 Aug 2017 17:47:46 -0700 (PDT) From: James Smart To: linux-scsi@vger.kernel.org Cc: jsmart2021@gmail.com, Dick Kennedy , James Smart Subject: [PATCH v2 04/20] lpfc: Fix oops when NVME Target is discovered in a nonNVME environment Date: Fri, 4 Aug 2017 17:47:15 -0700 Message-Id: <20170805004731.1335-5-jsmart2021@gmail.com> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20170805004731.1335-1-jsmart2021@gmail.com> References: <20170805004731.1335-1-jsmart2021@gmail.com> Sender: linux-scsi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-scsi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Dick Kennedy lpfc oops when it discovers a NVME target but is configured for SCSI only operation. Oops is in lpfc_nvme_register_port+0x33/0x300. The localport is not valid so it should not have been referenced. Added validity check for localport Signed-off-by: Dick Kennedy Signed-off-by: James Smart --- drivers/scsi/lpfc/lpfc_nvme.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/lpfc/lpfc_nvme.c b/drivers/scsi/lpfc/lpfc_nvme.c index 0a0a1b92d01d..2f50df6a3dca 100644 --- a/drivers/scsi/lpfc/lpfc_nvme.c +++ b/drivers/scsi/lpfc/lpfc_nvme.c @@ -2296,6 +2296,9 @@ lpfc_nvme_register_port(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp) ndlp->nlp_DID, ndlp->nlp_type); localport = vport->localport; + if (!localport) + return 0; + lport = (struct lpfc_nvme_lport *)localport->private; /* NVME rports are not preserved across devloss.