Received: by 2002:a05:6a10:eb17:0:0:0:0 with SMTP id hx23csp1821593pxb; Sat, 4 Sep 2021 23:48:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJweHuPC7YdUCRaBzm1t4OkHDMA5RgiKKkfhGoH3jBQKwZ8kUR+CC9n66Ce3Bqk7PwtrTsDg X-Received: by 2002:a17:906:2b56:: with SMTP id b22mr7489490ejg.189.1630824501369; Sat, 04 Sep 2021 23:48:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1630824501; cv=none; d=google.com; s=arc-20160816; b=rsUUMvF3Wwm9io5rfb86mdBmpmP4cB/BE285n95bL7gz6HlKzfbKYVoatCBMicHvxV d7Flh3058iqnN2db60tKaAYcJdhBmumMciPvg50nxXzCGx4q/coBuC/QE1nJnfD1kyXO SMN1fzEyEgK47HtLiR6M8YWXny/gGVD8IyWItpHG56IeZdiaI4nd4//xwFFmZtSQdmFw NgWP29jOiD3+/yL4kMNueX4NsOtizjWZF3QO8WyPc4a2eCyQMFPgkIxRcuOcdTEWhtXW 6aRGXUgDq8E/kv+DOocgfhF5g1RVjWvmiW16EVcQxTOEghKW8toAgU4Ug229+m4fNsVs iHyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=b2qKSF9rTvMQ7UxAcz9sQX+jz8xYdjYx9/e6aHsgyfQ=; b=M2ROEJoN8hMPZ0EBHV3eOw7GQHxtNfGGB9cxfUfYkLQSIJW8vZE7r+N5+NPYt/0nBR wA+IqZH5Ii2cm4u4ZBPCTDsiVoMUX0a8gixzhoAb0d/xhSswi0+I8+/Xnl6aWnGRuXO5 EtasoffUCFw1xBJOl0WCRr+pieH0KnYCaohl9CkbieSfMUlab+pKRcZtlK+bDeH2vIYg z9d4OGFvwgNurwn2SGwJtV1y6yww6bbshBP2kKcXzPtLyd5BnLY9xOUq2RgL/z4/arm+ 3OOpt53pTGtycvjbkDyZlZ+tbhsZXXv6Fj5tE2hDgsSHVcPquI7I0qCPnIzn9qFDnYf3 8BPA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmx.net header.s=badeba3b8450 header.b=LYQMqG0c; 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=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nc24si4749956ejc.256.2021.09.04.23.47.29; Sat, 04 Sep 2021 23:48:21 -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=@gmx.net header.s=badeba3b8450 header.b=LYQMqG0c; 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=fail (p=NONE sp=NONE dis=NONE) header.from=gmx.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234283AbhIEG01 (ORCPT + 99 others); Sun, 5 Sep 2021 02:26:27 -0400 Received: from mout.gmx.net ([212.227.17.21]:58325 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230339AbhIEG01 (ORCPT ); Sun, 5 Sep 2021 02:26:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1630823115; bh=Ys+NZEboVUnWFmEum0YlSuqPTHhM88xGEAWwfO8U6p8=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=LYQMqG0cLXy3HjfS5drEIsUBmIT4S7Y9hYcdU3/rqBUDGrBEt0aCsLWvb97F5ExXl ZFEAAGKmhTy6aGGybjUrPJuooDsUwREpZ0/AdSSx3QMnKWD6ccPwtIo1HWfbWdPmyv couumRpr9Ka4CXcF15E76Vx4W5vsD3sLTb6MB6g8= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([79.150.72.99]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1M3DJl-1mO9hO18nN-003gEy; Sun, 05 Sep 2021 08:25:15 +0200 From: Len Baker To: James Smart , Ram Vegesna , "James E.J. Bottomley" , "Martin K. Petersen" Cc: Len Baker , Kees Cook , Hannes Reinecke , linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-hardening@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] scsi: elx: libefc: Prefer kcalloc over open coded arithmetic Date: Sun, 5 Sep 2021 08:24:48 +0200 Message-Id: <20210905062448.6587-1-len.baker@gmx.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:/O4hM7ALWbCPWzwIh+ID1vD4gm33Nk5xbWknmtdnrQfONIGxnAw KijyByAx4jKrZz6Z8MForS0A4E1MXm4O7LBF0IOjpkTwel/n1RCJPGkn/73/FbB/LgSZxbO iN9Ck1gE1dF1MUTr2lh35vAVXzMuQEKukMS8UwZwzN1axKoOOL2audpNJZPB4JmZpo58Lo5 h1F5dPfVpwVDFdF8JrH7A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:WMpzMZHxKls=:OMKsG8ZAyZXRTwqURhjP5w kG9d71iTnYzxIO78R418bZTDuW4sLwuCeXIu7G56B1TEhAhrZb6z1mhT+QuYVafViVHuLLw8q GiFS19yxGhoU9L3z5HNdZaWdwTAzyt2M3J3nG81jMg56Nxyc2Aut17XmD+7/Ou4ISwYmDogCc Sz3250PXheHgDE/GsWX+HpZvBd8vvgV+Nw5/qKK32O5S0Qtk3hIvDL/UsyzUnRSdyb1C9q5Xb cFsnb7N01eJb8R0fSiUdOReVMnaZITVUMDEnO68A5T89aA/fEctbwA411CZqMqbOFmTEOCCbU HRKNMSMQRjfrEfcHBkXd74f6XfGazRLzXnxjIIZN0Z/V8kIYZIQhLRerS0E5BmqtVxELsjK5+ 6IPmGC9mzz9R3hz84EDXn+mhkJw94sXLpXWrAaXZTjKkSg1UkmyTTNRYZCaiOQ7O9FFU7eJl8 osFb+n/V261XeA0o90BAzseeQr01Ji0oVL8fIif8h5p26cF7zBJP4q/WjQFzGsDlPwZh9DTVZ SHDY//X7vU8qRbSnxyvf5gS8A/M+QRexUN8Uqf/lfbNqKa0dnd6h2/X0Y8+i7/aZhZB993T3q azPbBcIJu+L8XJma+93GR/WRYHxij6Z8InjSjXTxLow5pdBnZ8Sa0H5x2RfTfuwzvasbkELhH LCGHJhk1+h4vn0DiOU8c2SFqHy8pTMC1FkbnRyBsp8dlaZqY3zGDdx1vuVnMnddJqcaJlgXtB jwtSShhjtyFa22u2zbh/vMbPu9RhEyIaWIgeZmcEDzDeVaWpnQ6ChI26vP9aPmcmC50mFlP+s ZdM/f9LGtizVzxKovx2kA4sVQnlc739aFb83JiTRMoTJ2BWbLMYTcfdD1yOau4nXLT149HfE6 xp2dHZG07MgfAk9JH6gfBGc4utFOLSKgcsPB4fsZbYsnZJ4iiNnjfDI2v5v15/DtGnWWMi4Ls wBCQo7HYYuron3wbndhmYS1ESMQ0tHKHT3QO6CN2W4SUrz14Nm0/7SOhAH9fPhK0V6gJbyAQO 7xg0Dmsv6HRVWUDA4NZEI00y+vA19krVxqbLQ9VofMJY5yVyAAWnAbtNc+TjX7Ch3bdWTkAgY OMjhU8bzN+KIlrmXtBqNZVO+kfHadlRPqi7KRtOIV8d+Wad5cCk40TN/A== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As noted in the "Deprecated Interfaces, Language Features, Attributes, and Conventions" documentation [1], size calculations (especially multiplication) should not be performed in memory allocator (or similar) function arguments due to the risk of them overflowing. This could lead to values wrapping around and a smaller allocation being made than the caller was expecting. Using those allocations could lead to linear overflows of heap memory and other misbehaviors. So, use the purpose specific kcalloc() function instead of the argument count * size in the kzalloc() function. [1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-cod= ed-arithmetic-in-allocator-arguments Signed-off-by: Len Baker =2D-- drivers/scsi/elx/libefc/efc_fabric.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/elx/libefc/efc_fabric.c b/drivers/scsi/elx/libef= c/efc_fabric.c index d397220d9e54..f9412437ad47 100644 =2D-- a/drivers/scsi/elx/libefc/efc_fabric.c +++ b/drivers/scsi/elx/libefc/efc_fabric.c @@ -686,7 +686,7 @@ efc_process_gidpt_payload(struct efc_node *node, } /* Allocate a buffer for all nodes */ - active_nodes =3D kzalloc(port_count * sizeof(*active_nodes), GFP_ATOMIC)= ; + active_nodes =3D kcalloc(port_count, sizeof(*active_nodes), GFP_ATOMIC); if (!active_nodes) { node_printf(node, "efc_malloc failed\n"); return -EIO; =2D- 2.25.1