xen/arm: traps: address violations of MISRA C:2012 Rule 16.3

MISRA C:2012 Rule 16.3 states: "An unconditional `break' statement
shall terminate every switch-clause".

Add missing break statements to address violations of Rule 16.3.
Add pseudo-keyword "fallthrough" to make explicit the intended
behavior and satisfy the requirements to deviate Rule 16.3.
No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
Acked-by: Julien Grall <jgrall@amazon.com>
This commit is contained in:
Federico Serafini authored and Stefano Stabellini committed 2023-12-20 10:19:34 -08:00
1 parent 7d18ab2b9b
commit f1e956cdbf
1 file changed
+14 -4
+14 -4
View File
@@ -1414,10 +1414,18 @@ static void do_trap_hypercall(struct cpu_user_regs *regs, register_t *nr,
{
/* Deliberately corrupt parameter regs used by this hypercall. */
switch ( hypercall_args[*nr] ) {
case 5: HYPERCALL_ARG5(regs) = 0xDEADBEEFU;
case 4: HYPERCALL_ARG4(regs) = 0xDEADBEEFU;
case 3: HYPERCALL_ARG3(regs) = 0xDEADBEEFU;
case 2: HYPERCALL_ARG2(regs) = 0xDEADBEEFU;
case 5:
HYPERCALL_ARG5(regs) = 0xDEADBEEFU;
fallthrough;
case 4:
HYPERCALL_ARG4(regs) = 0xDEADBEEFU;
fallthrough;
case 3:
HYPERCALL_ARG3(regs) = 0xDEADBEEFU;
fallthrough;
case 2:
HYPERCALL_ARG2(regs) = 0xDEADBEEFU;
fallthrough;
case 1: /* Don't clobber x0/r0 -- it's the return value */
case 0: /* -ENOSYS case */
break;
@@ -1929,6 +1937,7 @@ static void do_trap_stage2_abort_guest(struct cpu_user_regs *regs,
gprintk(XENLOG_WARNING,
"Unsupported FSC: HSR=%#"PRIregister" DFSC=%#x\n",
hsr.bits, xabt.fsc);
break;
}
inject_abt:
@@ -2136,6 +2145,7 @@ void asmlinkage do_trap_guest_sync(struct cpu_user_regs *regs)
"Unknown Guest Trap. HSR=%#"PRIregister" EC=0x%x IL=%x Syndrome=0x%"PRIx32"\n",
hsr.bits, hsr.ec, hsr.len, hsr.iss);
inject_undef_exception(regs, hsr);
break;
}
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.