Received: by 2002:a17:90a:9103:0:0:0:0 with SMTP id k3csp11797212pjo; Thu, 2 Jan 2020 14:26:57 -0800 (PST) X-Google-Smtp-Source: APXvYqzDtMtDo7xNLW5ndZlgeaUhc1SnYrdSB+19VR6pdsECye4jUyeqhkP3ZoaT3p0V8kcG94tU X-Received: by 2002:aca:bac3:: with SMTP id k186mr3310766oif.19.1578004016932; Thu, 02 Jan 2020 14:26:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578004016; cv=none; d=google.com; s=arc-20160816; b=cNaHKIwVBHAkWDNwPs4nZmGqjQ6wHWhGjU4eh/+IIPkSyswsQZisNS3XXhAxA6zVgb xEjIO831g2PUqY+N8/bojamuviWrLsEYMqQibOq1BOJtQBsFC4lybKGebUNusPBQ7+9H BfAWJjNxxiTjMhTNKYPlvrBi0uqA9HKyu+iOAJgLxe+2RreEnYP5gEHviSKpQo/CuGfp tnKeu8LGDbu2IE8kDCe5aLLUhA+DUG2Bk7ObVK4pVIssprS1ZoTEa7OJpPUvDlIgvbIY P1tQnODTGs/z3Asts+lEuD4VuWrp37WuswWCiL+d53brMq0oL/7ccMydgXrXYEVoakHB rtug== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=xx5lg0C7NDhLWptsm25PB2sZsEIy93rHNWpYBlkIuM4=; b=YWtVsB9bpgpAbNgVPNkWYLlAL2FPp10DUiT/b6mZlmhNuF5IMPQjzC1tZslVQKgdiD MU9Tq5pcmm0z85XnlL/eSjdn0AKhjYgppOJvIUSiaTwgjhatP+laA04aS6YzXvzHbkpv L1/oJ1Mg/q5QQ7aJ8wken0y507qaDAQWqgffvmm+J80PpG9MIaxH0/gAuR5xNoQvFPY2 TN2R9TkLMm/XrjKTygY6daR5GSZoZvJdKRMG2He5R+QiM93ie2dHo04l6wC750Em0xXp 3I/dWcCHJdvFT96Idl63EL5Vn2Nj59lKwZpkDC9Vaw2Ar3T7M/rcvic2P1zlZ8Lt3t9H XMUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=fgJ0Kebx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x137si26198727oif.42.2020.01.02.14.26.45; Thu, 02 Jan 2020 14:26:56 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=fgJ0Kebx; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729548AbgABWZk (ORCPT + 99 others); Thu, 2 Jan 2020 17:25:40 -0500 Received: from mail.kernel.org ([198.145.29.99]:51338 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729258AbgABWZi (ORCPT ); Thu, 2 Jan 2020 17:25:38 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AF21A222C3; Thu, 2 Jan 2020 22:25:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578003937; bh=S06nD4+InRMS/mrn6P6TDwIwbqOvVhfwerr3OLNfmvM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fgJ0KebxwSIjDOuX2T/4SaWOHNM/6Vn1xCysheh0hssu0xfagIcff/NpLnhev/dGG WNt2Zd7MRa0MAHHIhEaRUy1PCSG6wFR1NftlH17v1aazGXdh6lhqroWGnmJK19ujPM P7nuOF3/TyCWLchnU8GYgzNgd4fyGqopPcRIywiE= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, coverity-bot , James Bottomley , "Gustavo A. R. Silva" , linux-next@vger.kernel.org, "Ewan D . Milne" , Dick Kennedy , James Smart , "Martin K . Petersen" , Sasha Levin Subject: [PATCH 4.14 26/91] scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Date: Thu, 2 Jan 2020 23:07:08 +0100 Message-Id: <20200102220426.562383744@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200102220356.856162165@linuxfoundation.org> References: <20200102220356.856162165@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 6c6d59e0fe5b86cf273d6d744a6a9768c4ecc756 ] Coverity reported the following: *** CID 101747: Null pointer dereferences (FORWARD_NULL) /drivers/scsi/lpfc/lpfc_els.c: 4439 in lpfc_cmpl_els_rsp() 4433 kfree(mp); 4434 } 4435 mempool_free(mbox, phba->mbox_mem_pool); 4436 } 4437 out: 4438 if (ndlp && NLP_CHK_NODE_ACT(ndlp)) { vvv CID 101747: Null pointer dereferences (FORWARD_NULL) vvv Dereferencing null pointer "shost". 4439 spin_lock_irq(shost->host_lock); 4440 ndlp->nlp_flag &= ~(NLP_ACC_REGLOGIN | NLP_RM_DFLT_RPI); 4441 spin_unlock_irq(shost->host_lock); 4442 4443 /* If the node is not being used by another discovery thread, 4444 * and we are sending a reject, we are done with it. Fix by adding a check for non-null shost in line 4438. The scenario when shost is set to null is when ndlp is null. As such, the ndlp check present was sufficient. But better safe than sorry so add the shost check. Reported-by: coverity-bot Addresses-Coverity-ID: 101747 ("Null pointer dereferences") Fixes: 2e0fef85e098 ("[SCSI] lpfc: NPIV: split ports") CC: James Bottomley CC: "Gustavo A. R. Silva" CC: linux-next@vger.kernel.org Link: https://lore.kernel.org/r/20191111230401.12958-3-jsmart2021@gmail.com Reviewed-by: Ewan D. Milne Signed-off-by: Dick Kennedy Signed-off-by: James Smart Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/lpfc/lpfc_els.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index c851fd14ff3e..4c84c2ae1112 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c @@ -4102,7 +4102,7 @@ lpfc_cmpl_els_rsp(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocb, mempool_free(mbox, phba->mbox_mem_pool); } out: - if (ndlp && NLP_CHK_NODE_ACT(ndlp)) { + if (ndlp && NLP_CHK_NODE_ACT(ndlp) && shost) { spin_lock_irq(shost->host_lock); ndlp->nlp_flag &= ~(NLP_ACC_REGLOGIN | NLP_RM_DFLT_RPI); spin_unlock_irq(shost->host_lock); -- 2.20.1