Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp5136152imu; Tue, 8 Jan 2019 12:09:49 -0800 (PST) X-Google-Smtp-Source: ALg8bN5SIvFkyGLsgZM+aDtI4Hu6Na5PF+YWQZcLNsOHMuqkcfFL9iWxvVn/Pp0PmYXTkxf/l1ZM X-Received: by 2002:a17:902:b48b:: with SMTP id y11mr3040575plr.200.1546978189442; Tue, 08 Jan 2019 12:09:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1546978189; cv=none; d=google.com; s=arc-20160816; b=qQVcUlwinBx2uOu3HP/tgMDvskNtXKwuuBHAWjuAav9pKUq/D5+nKhO6wud6zrHH6I BIChOwr9AsqfV2XonBJcoqGKv78P4m/zaB90vK9IGA6GZNeHPqHgVRffWjuZHPTtLFWQ v8Qk9OQlASperX5YZ6TZSWKmHk3UONLJ+ITOKZgm2x9vUqyW23HeOZrPiVeNmSabfhR1 8wETjpuzCjKALCvqhYcfoKFwmRIthWk4flpYmMTv+f0iQ4dBg46F1RMuP0JcgduxuN0u VD/Rk+iqMxzYDF7N7bX/ueOszWydJzBAs0W1+DuIMLx4I5RNt1zDI3yB7bILnM+qMGCi 0M8Q== 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=bLHXKQvtd6qZVCytf9vgpvCzf0Ku6lipyk4NSLG8HgE=; b=qQG4G8Lti7EWfzYIKYRbYr0ZZERBCu/xWu+RYztP1TC6RDCb8CDCNbQ2KTw7fRaEhU toSV/qM8b6F3iRHIDyT8qQ/7gFFlzPTfIdsbADt2GeJCsGTiasfqzWWprYAVfABfxgCV aq5Ya2gBU62OPo+GEACBgpUCqanaX7oT9N7UG2aayTk8eNY4HxVpBdmAu5vLsyBp6vIW eLVfoODZJiNaEa7Uy8TuFtO0WF9cI1Twawv5VNB3OIg3u5lFkcri2XWIeO/0MuAeJ5MB EplMksxc7keVXTKab1phed4E1FYKyl4GQyP4wQAfNFov7N5b9I7ovABKLAlRUG4orJrK CMVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=ZWUb4+RK; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 3si12339663plo.217.2019.01.08.12.09.33; Tue, 08 Jan 2019 12:09:49 -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=ZWUb4+RK; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729787AbfAHT1r (ORCPT + 99 others); Tue, 8 Jan 2019 14:27:47 -0500 Received: from mail.kernel.org ([198.145.29.99]:33916 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729733AbfAHT1i (ORCPT ); Tue, 8 Jan 2019 14:27:38 -0500 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 8F1FE2183F; Tue, 8 Jan 2019 19:27:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1546975657; bh=HIisMEjQA6JVHd99i5FGXqSmtQzT7TqWLBW92oGECkU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZWUb4+RKUMHEV6KwPSssNuThC8jxPXZbiAAYiBGb1MilXWTqdGjj/lGVXfY/dE8Fz N/iMWO2rAXX6Di2IQRh2yEs2/FnBZ0Hpxos/g+0rqPO96yWISnHgHWlDVzc0kLOMQV qObWLLpzgdZwaE+YrZaOVXc9blxXAq1r/6SKGXL8= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Manish Rangankar , "Martin K . Petersen" , Sasha Levin , linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 4.20 037/117] scsi: qedi: Check for session online before getting iSCSI TLV data. Date: Tue, 8 Jan 2019 14:25:05 -0500 Message-Id: <20190108192628.121270-37-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190108192628.121270-1-sashal@kernel.org> References: <20190108192628.121270-1-sashal@kernel.org> MIME-Version: 1.0 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: Manish Rangankar [ Upstream commit d5632b11f0a17efa6356311e535ae135d178438d ] The kernel panic was observed after switch side perturbation, BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] strcmp+0x20/0x40 PGD 0 Oops: 0000 [#1] SMP CPU: 8 PID: 647 Comm: kworker/8:1 Tainted: G W OE ------------ 3.10.0-693.el7.x86_64 #1 Hardware name: HPE ProLiant DL380 Gen10/ProLiant DL380 Gen10, BIOS U30 06/20/2018 Workqueue: slowpath-13:00. qed_slowpath_task [qed] task: ffff880429eb8fd0 ti: ffff880429190000 task.ti: ffff880429190000 RIP: 0010:[] [] strcmp+0x20/0x40 RSP: 0018:ffff880429193c68 EFLAGS: 00010202 RAX: 000000000000000a RBX: 0000000000000002 RCX: 0000000000000000 RDX: 0000000000000001 RSI: 0000000000000001 RDI: ffff88042bda7a41 RBP: ffff880429193c68 R08: 000000000000ffff R09: 000000000000ffff R10: 0000000000000007 R11: ffff88042b3af338 R12: ffff880420b007a0 R13: ffff88081aa56af8 R14: 0000000000000001 R15: ffff88081aa50410 FS: 0000000000000000(0000) GS:ffff88042fe00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000000019f2000 CR4: 00000000003407e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Stack: ffff880429193d20 ffffffffc02a0c90 ffffc90004b32000 ffff8803fd3ec600 ffff88042bda7800 ffff88042bda7a00 ffff88042bda7840 ffff88042bda7a40 0000000129193d10 2e3836312e323931 ff000a342e363232 ffffffffc01ad99d Call Trace: [] qedi_get_protocol_tlv_data+0x270/0x470 [qedi] [] ? qed_mfw_process_tlv_req+0x24d/0xbf0 [qed] [] qed_mfw_fill_tlv_data+0x5e/0xd0 [qed] [] qed_mfw_process_tlv_req+0x269/0xbf0 [qed] Fix kernel NULL pointer deref by checking for session is online before getting iSCSI TLV data. Signed-off-by: Manish Rangankar Reviewed-by: Lee Duncan Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/qedi/qedi_main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/qedi/qedi_main.c b/drivers/scsi/qedi/qedi_main.c index 105b0e4d7818..5d7d018dad6e 100644 --- a/drivers/scsi/qedi/qedi_main.c +++ b/drivers/scsi/qedi/qedi_main.c @@ -952,6 +952,9 @@ static int qedi_find_boot_info(struct qedi_ctx *qedi, cls_sess = iscsi_conn_to_session(cls_conn); sess = cls_sess->dd_data; + if (!iscsi_is_session_online(cls_sess)) + continue; + if (pri_ctrl_flags) { if (!strcmp(pri_tgt->iscsi_name, sess->targetname) && !strcmp(pri_tgt->ip_addr, ep_ip_addr)) { -- 2.19.1