[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] iommu/ipmmu-vmsa: Add missing 'U' in IMTTLBR0_TTBR_MASK for shifted constant
commit 80248d526caa933230f87008c8850e9c0592bff2 Author: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> AuthorDate: Tue Jul 4 23:30:32 2023 +0300 Commit: Julien Grall <jgrall@xxxxxxxxxx> CommitDate: Fri Jul 14 17:33:26 2023 +0100 iommu/ipmmu-vmsa: Add missing 'U' in IMTTLBR0_TTBR_MASK for shifted constant With enabling both CONFIG_UBSAN and CONFIG_IPMMU_VMSA I have got the following splat when an IOMMU driver tried to setup page tables: (XEN) ipmmu: /soc/iommu@e67b0000: d1: Set IPMMU context 1 (pgd 0x77fe90000) (XEN) ================================================================================ (XEN) UBSAN: Undefined behaviour in drivers/passthrough/arm/ipmmu-vmsa.c:558:51 (XEN) left shift of 1048575 by 12 places cannot be represented in type 'int' (XEN) Xen WARN at common/ubsan/ubsan.c:172 (XEN) ---[ Xen-4.18-unstable arm64 debug=y ubsan=y Tainted: S ]---- ... This points to shifted constant in IMTTLBR0_TTBR_MASK. Fix that by adding missing 'U' to it. This should also address MISRA Rule 7.2: A "u" or "U" suffix shall be applied to all integer constants that are represented in an unsigned type. Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> --- xen/drivers/passthrough/arm/ipmmu-vmsa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c index 611d9eeba5..b5c84c51a2 100644 --- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c +++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c @@ -198,7 +198,7 @@ static DEFINE_SPINLOCK(ipmmu_devices_lock); #define IMTTBCR_TSZ0_SHIFT 0 #define IMTTLBR0 0x0010 -#define IMTTLBR0_TTBR_MASK (0xfffff << 12) +#define IMTTLBR0_TTBR_MASK (0xfffffU << 12) #define IMTTUBR0 0x0014 #define IMTTUBR0_TTBR_MASK (0xff << 0) -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |