From ba7883760ae7aff60dcf6810b3813cacbffc05c1 Mon Sep 17 00:00:00 2001 From: Chao Hao Date: Tue, 8 Sep 2020 17:03:17 +0800 Subject: [PATCH] BACKPORT: FROMLIST: iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap Use the ias for the valid iova checking in _unmap. It is a preparing patch for supporting iova 34bit for MediaTek. BTW, change the ias/oas checking format in v7s_map. Bug: 167939345 Link: https://lore.kernel.org/patchwork/patch/1301119/ Change-Id: I78a5399fb5f6555ba9aca916393ed62262853e34 Signed-off-by: Yong Wu Signed-off-by: Chao Hao Signed-off-by: Chun-Hung Wu --- drivers/iommu/io-pgtable-arm-v7s.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c index 4cb394937700..04a12ceff72a 100644 --- a/drivers/iommu/io-pgtable-arm-v7s.c +++ b/drivers/iommu/io-pgtable-arm-v7s.c @@ -719,7 +719,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);