Re: [PATCH v4 07/24] iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap

Robin Murphy
2020-11-26T15:42:56Z

On 2020-11-11 12:38, Yong Wu wrote:
> Use the ias for the valid iova checking in arm_v7s_unmap. This is a
> preparing patch for supporting iova 34bit for MediaTek.

I can't help thinking of weird ways to generate better code here, but
being consistent with what we already have on the map path is probably
more valuable for now.

Reviewed-by: Robin Murphy <robin.murphy@arm.com>

> Signed-off-by: Yong Wu <yong.wu@mediatek.com>
> ---
> 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 a688f22cbe3b..e880745ab1e8 100644
> --- a/drivers/iommu/io-pgtable-arm-v7s.c
> +++ b/drivers/iommu/io-pgtable-arm-v7s.c
> @@ -717,7 +717,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);
>