[bug report] iommu: rockchip: Add support for iommu v2
Benjamin Gaignard
benjamin.gaignard at collabora.com
Fri Jun 18 03:01:20 PDT 2021
Le 18/06/2021 à 11:15, Dan Carpenter a écrit :
> Hello Benjamin Gaignard,
>
> The patch c55356c534aa: "iommu: rockchip: Add support for iommu v2"
> from Jun 4, 2021, leads to the following static checker warning:
>
> drivers/iommu/rockchip-iommu.c:552 rk_dte_addr_phys_v2()
> warn: potential shift truncation. '0xff00000000 (0,4294967296-1095216660480) << 28'
>
> drivers/iommu/rockchip-iommu.c
> 544 }
> 545
> 546 #define DT_HI_MASK GENMASK_ULL(39, 32)
> ^^^^^^^^^^^^^^^^^^^
>
> 547 #define DT_SHIFT 28
> 548
> 549 static inline phys_addr_t rk_dte_addr_phys_v2(u32 addr)
> 550 {
> 551 return (phys_addr_t)(addr & RK_DTE_PT_ADDRESS_MASK) |
> 552 ((addr & DT_HI_MASK) << DT_SHIFT);
> ^^^^^^^^^^^^^^^^^
> Is addr supposed to be a u64?
The error is to use DT_HI_MASK here.
It should be:
#define DTE_BASE_HI_MASK GENMASK(11, 4)
static inline phys_addr_t rk_dte_addr_phys_v2(u32 addr)
{
return (phys_addr_t)(addr & RK_DTE_PT_ADDRESS_MASK) |
((addr & DTE_BASE_HI_MASK) << DT_SHIFT);
}
I will send a patch.
Thanks for the finding.
Regards,
Benjamin
>
> 553 }
>
> regards,
> dan carpenter
More information about the Linux-rockchip
mailing list