Skip to content

Commit 6fecfc5

Browse files
Alexandra DiupinaMichael Tokarev
authored andcommitted
hw/intc/arm_gicv3: Add cast to match the documentation
The result of 1 << regbit with regbit==31 has a 1 in the 32nd bit. When cast to uint64_t (for further bitwise OR), the 32 most significant bits will be filled with 1s. However, the documentation states that the upper 32 bits of ICC_AP[0/1]R<n>_EL2 are reserved. Add an explicit cast to match the documentation. Found by Linux Verification Center (linuxtesting.org) with SVACE. Cc: [email protected] Fixes: 28cca59 ("hw/intc/arm_gicv3: Add NMI handling CPU interface registers") Signed-off-by: Alexandra Diupina <[email protected]> Reviewed-by: Peter Maydell <[email protected]> Signed-off-by: Peter Maydell <[email protected]> (cherry picked from commit 12dc8f6) Signed-off-by: Michael Tokarev <[email protected]>
1 parent c5f652a commit 6fecfc5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

hw/intc/arm_gicv3_cpuif.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1170,7 +1170,7 @@ static void icc_activate_irq(GICv3CPUState *cs, int irq)
11701170
if (nmi) {
11711171
cs->icc_apr[cs->hppi.grp][regno] |= ICC_AP1R_EL1_NMI;
11721172
} else {
1173-
cs->icc_apr[cs->hppi.grp][regno] |= (1 << regbit);
1173+
cs->icc_apr[cs->hppi.grp][regno] |= (1U << regbit);
11741174
}
11751175

11761176
if (irq < GIC_INTERNAL) {

0 commit comments

Comments
 (0)