[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] xen/arm: smmuv3: Avoid open coded arithmetic in memory allocation



commit 654f406d510a71e588b481a11434ed955d008be8
Author:     Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
AuthorDate: Tue Aug 23 15:44:18 2022 +0100
Commit:     Julien Grall <jgrall@xxxxxxxxxx>
CommitDate: Tue Sep 6 17:43:35 2022 +0100

    xen/arm: smmuv3: Avoid open coded arithmetic in memory allocation
    
    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 <christophe.jaillet@xxxxxxxxxx>
    Acked-by: Robin Murphy <robin.murphy@xxxxxxx>
    Link: 
https://lore.kernel.org/r/3f7b9b202c6b6f5edc234ab7af5f208fbf8bc944.1644274051.git.christophe.jaillet@xxxxxxxxxx
    Signed-off-by: Will Deacon <will@xxxxxxxxxx>
    Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
98b64741d611
    Signed-off-by: Rahul Singh <rahul.singh@xxxxxxx>
    Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
---
 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/passthrough/arm/smmu-v3.c
index b8ca4b0a24..9c9f463009 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1644,10 +1644,10 @@ static int arm_smmu_init_l1_strtab(struct 
arm_smmu_device *smmu)
 {
        unsigned int i;
        struct arm_smmu_strtab_cfg *cfg = &smmu->strtab_cfg;
-       size_t size = sizeof(*cfg->l1_desc) * cfg->num_l1_ents;
        void *strtab = smmu->strtab_cfg.strtab;
 
-       cfg->l1_desc = _xzalloc(size, sizeof(void *));
+       cfg->l1_desc = _xzalloc_array(sizeof(*cfg->l1_desc), sizeof(void *),
+                                                                 
cfg->num_l1_ents);
        if (!cfg->l1_desc)
                return -ENOMEM;
 
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.