From: Yong Wu Date: Mon, 11 Jan 2021 11:18:50 +0000 (+0800) Subject: iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap X-Git-Tag: v5.12-rc1~100^2^3~4^2^2~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=859da21112520829638a82f458ac2c8c2637e17d;p=thirdparty%2Fkernel%2Flinux.git iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap Use the ias for the valid iova checking in arm_v7s_unmap. This is a preparing patch for supporting iova 34bit for MediaTek. Signed-off-by: Yong Wu Reviewed-by: Robin Murphy Reviewed-by: Tomasz Figa Link: https://lore.kernel.org/r/20210111111914.22211-10-yong.wu@mediatek.com Signed-off-by: Will Deacon --- diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c index 929cb1518db1d..03f35065acff8 100644 --- a/drivers/iommu/io-pgtable-arm-v7s.c +++ b/drivers/iommu/io-pgtable-arm-v7s.c @@ -711,7 +711,7 @@ static size_t arm_v7s_unmap(struct io_pgtable_ops *ops, unsigned long iova, { struct arm_v7s_io_pgtable *data = io_pgtable_ops_to_data(ops); - if (WARN_ON(upper_32_bits(iova))) + if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias))) return 0; return __arm_v7s_unmap(data, gather, iova, size, 1, data->pgd);