From: Xenia Ragiadakou Date: Tue, 28 Jun 2022 15:08:51 +0000 (+0300) Subject: xen/arm: smmu-v3: Fix MISRA C 2012 Rule 1.3 violations X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~499 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=93aa071f66b78a2abbf134aeb96b02f066e6091d;p=xen.git xen/arm: smmu-v3: Fix MISRA C 2012 Rule 1.3 violations The expression 1 << 31 produces 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 Reviewed-by: Rahul Singh --- diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c index 1e857f915a..f2562acc38 100644 --- a/xen/drivers/passthrough/arm/smmu-v3.c +++ b/xen/drivers/passthrough/arm/smmu-v3.c @@ -338,7 +338,7 @@ static int platform_get_irq_byname_optional(struct device *dev, #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 @@ -410,7 +410,7 @@ static int platform_get_irq_byname_optional(struct device *dev, #define Q_IDX(llq, p) ((p) & ((1 << (llq)->max_n_shift) - 1)) #define Q_WRP(llq, p) ((p) & (1 << (llq)->max_n_shift)) -#define Q_OVERFLOW_FLAG (1 << 31) +#define Q_OVERFLOW_FLAG (1U << 31) #define Q_OVF(p) ((p) & Q_OVERFLOW_FLAG) #define Q_ENT(q, p) ((q)->base + \ Q_IDX(&((q)->llq), p) * \