Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2300696imc; Tue, 12 Mar 2019 10:55:48 -0700 (PDT) X-Google-Smtp-Source: APXvYqwnGDpUdrsJ/Jp7vHWFCxd1oPiAfAycZf9vjnjsDLsd31BK7LEGIzD/+e0Av+D3Hcb27ygG X-Received: by 2002:a62:e11a:: with SMTP id q26mr39333689pfh.187.1552413348432; Tue, 12 Mar 2019 10:55:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552413348; cv=none; d=google.com; s=arc-20160816; b=oA4BMw2v/Ewzbb2GGvISurI4X0+j7+EZFLX8J7I8NLm5J6jAfhq1DfKUFuiFTRTVl7 QNecJ5SjxK5+yyj0CkGXhf7ail7QDOnRN6QyR9EcllUUhfNiA+OpTvoVjLMtaZK3L9zz 8HmafXf3mesjse/ssKuydQbke7DmKwV1+MwmOQQ9Jn6TlqNs56f59R7NQSxdUdyRes/7 /Ltg7za6OfEoiX86suEMTjmbJ8V9bsCC45LP8PbI588qqvb6pdWVmn5q2nb/FDHaBKq7 ikCZF5vyVRATLam31c6YMDJ8mCDiwWBK9NjSeZi2SLjclYcxZk304bPOk+KTQo55h1bX yoUg== 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=wB065zGsX0hpPSGBaEKu1LQll2UlrShzyRrLucsr/HQ=; b=u1qJi+GTSvMocyEENDLTj3ThNn6FhNb+8tGWOFKKR8UJS7A5QUvPx+frQLGloj1Ete QKXIgEc0K7jDZhHS701G6c9wcu8qRz0ncvgsfv4sdscBx8eJ2Ow73/yJnGKxnVWF4p2T ALLH7kD5k5daIf4P1Veoy5nB9ReYfkIJsDowFnIoJfMFH6BfqR1yTz4orDzLwXk38pwA GLaW/B3DxLNTUOU11BHcW/btIwCAu6S7bZId4P+WF40/zUBwLO3tSYK6EjZqZQQxE4d4 Jvinlhb2v280ZcXTGnGSFmK9RWTwLlZAVnvZr3ApAhAnw6oBIK3akGCurWsDymjXOvCc NK8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=R1iAr2rM; 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 u77si8961274pfj.139.2019.03.12.10.55.32; Tue, 12 Mar 2019 10:55:48 -0700 (PDT) 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=R1iAr2rM; 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 S1726695AbfCLRyo (ORCPT + 99 others); Tue, 12 Mar 2019 13:54:44 -0400 Received: from mail.kernel.org ([198.145.29.99]:52292 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728251AbfCLROJ (ORCPT ); Tue, 12 Mar 2019 13:14:09 -0400 Received: from localhost (unknown [104.133.8.98]) (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 C46C3217F9; Tue, 12 Mar 2019 17:14:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552410848; bh=2lgupegosZNqsafGzD/mZk6uGLedWQMHbKP97cxQCb0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R1iAr2rMveSmzz4meKl52RttFYPkhpK46dmVsSfBG+W/4LqsP4NUwFHFkDuMiTI8C WzTBXDJbjcn+ji0kB155ZcAvDoi2u/atFGRUXSP3LVH9K+Lq890N1BTQ9GGX+g70SD OtXHISiEPeC09P9/WacgrKcF0avq+9vwDuw204LQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Carpenter , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.19 042/149] scsi: bnx2fc: Fix error handling in probe() Date: Tue, 12 Mar 2019 10:07:40 -0700 Message-Id: <20190312170353.264768632@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190312170349.421581206@linuxfoundation.org> References: <20190312170349.421581206@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore 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 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit b2d3492fc591b1fb46b81d79ca1fc44cac6ae0ae ] There are two issues here. First if cmgr->hba is not set early enough then it leads to a NULL dereference. Second if we don't completely initialize cmgr->io_bdt_pool[] then we end up dereferencing uninitialized pointers. Fixes: 853e2bd2103a ("[SCSI] bnx2fc: Broadcom FCoE offload driver") Signed-off-by: Dan Carpenter Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/bnx2fc/bnx2fc_io.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c index 350257c13a5b..bc9f2a2365f4 100644 --- a/drivers/scsi/bnx2fc/bnx2fc_io.c +++ b/drivers/scsi/bnx2fc/bnx2fc_io.c @@ -240,6 +240,7 @@ struct bnx2fc_cmd_mgr *bnx2fc_cmd_mgr_alloc(struct bnx2fc_hba *hba) return NULL; } + cmgr->hba = hba; cmgr->free_list = kcalloc(arr_sz, sizeof(*cmgr->free_list), GFP_KERNEL); if (!cmgr->free_list) { @@ -256,7 +257,6 @@ struct bnx2fc_cmd_mgr *bnx2fc_cmd_mgr_alloc(struct bnx2fc_hba *hba) goto mem_err; } - cmgr->hba = hba; cmgr->cmds = (struct bnx2fc_cmd **)(cmgr + 1); for (i = 0; i < arr_sz; i++) { @@ -295,7 +295,7 @@ struct bnx2fc_cmd_mgr *bnx2fc_cmd_mgr_alloc(struct bnx2fc_hba *hba) /* Allocate pool of io_bdts - one for each bnx2fc_cmd */ mem_size = num_ios * sizeof(struct io_bdt *); - cmgr->io_bdt_pool = kmalloc(mem_size, GFP_KERNEL); + cmgr->io_bdt_pool = kzalloc(mem_size, GFP_KERNEL); if (!cmgr->io_bdt_pool) { printk(KERN_ERR PFX "failed to alloc io_bdt_pool\n"); goto mem_err; -- 2.19.1