[PATCH] iommu/arm-smmu-v3: Fix undefined behavior in GBPA_UPDATE

From: Xenia Ragiadakou
Date: Thu Jun 30 2022 - 02:40:20 EST


The expression 1 << 31 results in undefined behaviour because the type of
integer constant 1 is (signed) int and the result of shifting 1 by 31 bits
is not representable in the (signed) int type.

Change the type of 1 to unsigned int by adding the U suffix.

Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx>
---
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
index cd48590ada30..44fbd499edea 100644
--- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
+++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
@@ -96,7 +96,7 @@
#define CR2_E2H (1 << 0)

#define ARM_SMMU_GBPA 0x44
-#define GBPA_UPDATE (1 << 31)
+#define GBPA_UPDATE (1U << 31)
#define GBPA_ABORT (1 << 20)

#define ARM_SMMU_IRQ_CTRL 0x50
--
2.34.1