With the wider testing, some more violations have been spotted. This addresses violations of Rule 16.3 which requires all case statements to be terminated with a break or other unconditional control flow change.
No functional change. Signed-off-by: Andrew Cooper <[email protected]> --- CC: Jan Beulich <[email protected]> CC: Roger Pau Monné <[email protected]> CC: Stefano Stabellini <[email protected]> CC: [email protected] <[email protected]> CC: Nicola Vetrini <[email protected]> --- xen/arch/x86/domain.c | 1 + xen/arch/x86/mm/shadow/hvm.c | 1 + xen/arch/x86/pv/emul-priv-op.c | 1 + xen/arch/x86/pv/emulate.c | 1 + xen/common/livepatch.c | 1 - xen/common/livepatch_elf.c | 1 + 6 files changed, 5 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 5e37bfbd17d6..b15120180993 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1517,6 +1517,7 @@ int arch_set_info_guest( { case -EINTR: rc = -ERESTART; + fallthrough; case -ERESTART: break; case 0: diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c index 114957a3e1ec..69334c095608 100644 --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -268,6 +268,7 @@ hvm_emulate_cmpxchg(enum x86_segment seg, default: SHADOW_PRINTK("cmpxchg size %u is not supported\n", bytes); prev = ~old; + break; } if ( prev != old ) diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c index 08dec9990e39..fb6d57d6fbd3 100644 --- a/xen/arch/x86/pv/emul-priv-op.c +++ b/xen/arch/x86/pv/emul-priv-op.c @@ -407,6 +407,7 @@ static void _guest_io_write(unsigned int port, unsigned int bytes, default: ASSERT_UNREACHABLE(); + break; } } diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c index 8c44dea12330..b201ea1c6a97 100644 --- a/xen/arch/x86/pv/emulate.c +++ b/xen/arch/x86/pv/emulate.c @@ -120,6 +120,7 @@ void pv_set_reg(struct vcpu *v, unsigned int reg, uint64_t val) printk(XENLOG_G_ERR "%s(%pv, 0x%08x, 0x%016"PRIx64") Bad register\n", __func__, v, reg, val); domain_crash(d); + break; } } diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c index 9285f88644f4..b39f8d7bfe20 100644 --- a/xen/common/livepatch.c +++ b/xen/common/livepatch.c @@ -1924,7 +1924,6 @@ static void noinline do_livepatch_work(void) p->name); ASSERT_UNREACHABLE(); } - default: break; } } diff --git a/xen/common/livepatch_elf.c b/xen/common/livepatch_elf.c index 25ce1bd5a0ad..2e82f2cb8c46 100644 --- a/xen/common/livepatch_elf.c +++ b/xen/common/livepatch_elf.c @@ -347,6 +347,7 @@ int livepatch_elf_resolve_symbols(struct livepatch_elf *elf) dprintk(XENLOG_DEBUG, LIVEPATCH "%s: Symbol resolved: %s => %#"PRIxElfAddr" (%s)\n", elf->name, elf->sym[i].name, st_value, elf->sec[idx].name); + break; } if ( rc ) -- 2.39.5
