From nobody Mon Feb 9 10:51:44 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=arm.com Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1662125971115604.5228517953591; Fri, 2 Sep 2022 06:39:31 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.397757.638457 (Exim 4.92) (envelope-from ) id 1oU6t4-0004vc-JP; Fri, 02 Sep 2022 13:39:10 +0000 Received: by outflank-mailman (output) from mailman id 397757.638457; Fri, 02 Sep 2022 13:39:10 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oU6t4-0004vN-CZ; Fri, 02 Sep 2022 13:39:10 +0000 Received: by outflank-mailman (input) for mailman id 397757; Fri, 02 Sep 2022 13:39:08 +0000 Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254] helo=se1-gles-sth1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oU6t2-0004rV-Ki for xen-devel@lists.xenproject.org; Fri, 02 Sep 2022 13:39:08 +0000 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by se1-gles-sth1.inumbo.com (Halon) with ESMTP id 9dfbf6e1-2ac4-11ed-934f-f50d60e1c1bd; Fri, 02 Sep 2022 15:39:07 +0200 (CEST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 360E51515; Fri, 2 Sep 2022 06:39:13 -0700 (PDT) Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com [10.1.199.62]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C89B23F766; Fri, 2 Sep 2022 06:39:05 -0700 (PDT) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 9dfbf6e1-2ac4-11ed-934f-f50d60e1c1bd From: Rahul Singh To: xen-devel@lists.xenproject.org Cc: bertrand.marquis@arm.com, rahul.singh@arm.com, Christophe JAILLET , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Robin Murphy , Will Deacon Subject: [PATCH v2 10/10] xen/arm: smmuv3: Avoid open coded arithmetic in memory allocation Date: Fri, 2 Sep 2022 14:35:02 +0100 Message-Id: <6a9a3d24477e583ea1a8b0954d43332144be03f0.1662123432.git.rahul.singh@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1662125971633100001 Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET Backport Linux commit 98b64741d611. This is the clean backport without any changes kmalloc_array()/kcalloc() should be used to avoid potential overflow when a multiplication is needed to compute the size of the requested memory. So turn a devm_kzalloc()+explicit size computation into an equivalent devm_kcalloc(). Signed-off-by: Christophe JAILLET Acked-by: Robin Murphy Link: https://lore.kernel.org/r/3f7b9b202c6b6f5edc234ab7af5f208fbf8bc944.16= 44274051.git.christophe.jaillet@wanadoo.fr Signed-off-by: Will Deacon Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 98= b64741d611 Signed-off-by: Rahul Singh --- Changes in v2: - fix commit msg --- xen/drivers/passthrough/arm/smmu-v3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthroug= h/arm/smmu-v3.c index 6fb74d864e..9e4815f455 100644 --- a/xen/drivers/passthrough/arm/smmu-v3.c +++ b/xen/drivers/passthrough/arm/smmu-v3.c @@ -1641,10 +1641,10 @@ static int arm_smmu_init_l1_strtab(struct arm_smmu_= device *smmu) { unsigned int i; struct arm_smmu_strtab_cfg *cfg =3D &smmu->strtab_cfg; - size_t size =3D sizeof(*cfg->l1_desc) * cfg->num_l1_ents; void *strtab =3D smmu->strtab_cfg.strtab; =20 - cfg->l1_desc =3D _xzalloc(size, sizeof(void *)); + cfg->l1_desc =3D _xzalloc_array(sizeof(*cfg->l1_desc), sizeof(void *), + cfg->num_l1_ents); if (!cfg->l1_desc) return -ENOMEM; =20 --=20 2.25.1