Re: [PATCH] iommu/mediatek: fix out-of-range warning with clang

From: Yong Wu
Date: Mon Sep 27 2021 - 21:21:49 EST


On Mon, 2021-09-27 at 14:18 +0200, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> clang-14 notices that a comparison is never true when
> CONFIG_PHYS_ADDR_T_64BIT is disabled:
>
> drivers/iommu/mtk_iommu.c:553:34: error: result of comparison of
> constant 5368709120 with expression of type 'phys_addr_t' (aka
> 'unsigned int') is always false [-Werror,-Wtautological-constant-out-
> of-range-compare]
> if (dom->data->enable_4GB && pa >=
> MTK_IOMMU_4GB_MODE_REMAP_BASE)
> ~~
> ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Add an explicit check for the type of the variable to skip the check
> and the warning in that case.
>
> Fixes: b4dad40e4f35 ("iommu/mediatek: Adjust the PA for the 4GB
> Mode")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>

Reviewed-by: Yong Wu <yong.wu@xxxxxxxxxxxx>

Thanks.