]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
iommu/io-pgtable-arm-v7s: Use ias/oas to check the valid iova/pa
authorYong Wu <yong.wu@mediatek.com>
Sat, 24 Aug 2019 03:01:52 +0000 (11:01 +0800)
committerJoerg Roedel <jroedel@suse.de>
Fri, 30 Aug 2019 13:57:26 +0000 (15:57 +0200)
Use ias/oas to check the valid iova/pa. Synchronize this checking with
io-pgtable-arm.c.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/io-pgtable-arm-v7s.c

index 72f1880e0c9dd49db27659b6e69d033712742ca9..fa1b38f4c27170e957eedb669002ea289107ab11 100644 (file)
@@ -504,7 +504,8 @@ static int arm_v7s_map(struct io_pgtable_ops *ops, unsigned long iova,
        if (!(prot & (IOMMU_READ | IOMMU_WRITE)))
                return 0;
 
-       if (WARN_ON(upper_32_bits(iova) || upper_32_bits(paddr)))
+       if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias) ||
+                   paddr >= (1ULL << data->iop.cfg.oas)))
                return -ERANGE;
 
        ret = __arm_v7s_map(data, iova, paddr, size, prot, 1, data->pgd);