[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/5] x86: Fix missing breaks
- To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
- From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
- Date: Wed, 10 Dec 2025 22:04:05 +0100
- Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
- Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1765400645; h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To: References:Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=gpQNHSCoovOcTqunSkPw0fNbA6p+CFqBvbrVIGEp3y8=; b=aUPrncKMjKkM5JYWALznHgn7r3d8FgwCsysbe9vnzlpzFR5A5R4o1uo6wxtDJ9MALIbS OFSXdTJorNCJJo01hvRsfzVq9OkxnlR/hO/iJE1PSX2+GVNoaXFZrHjxhysMq1zXRhnw0 Q3XN9DpcyLlHMeGKpFKA+ZOIGJXQrH8h0qG/BboHcQzJB1sfu1v6e0zHwSwsFpC+YCoFl Gf5fapfDsUVDO/VQpgztQAoHzA4Y5dcfm5VaLREX2Eb+nl+QdB9oHhR70Voa/gHKrrSV2 mRm9yexd7RHVFA7RMwOm9Nzk/Vu4kWKBhRFLPTe7O0WBt8hzuDuFQXLHS9kgdEiocLzVk oEB98BDqZwilDgBcnEmlUdOUd4BBz90tdEcscIjkWPs9LN79zHU9i5dn/kf4bIpuYwu1q h6t5tRa/ewvzmSrN4q7tRyxMvmA0yitwqc6qlHRfgX4A3RGwVXxBFTkQB8BwnxAyFVd/T QtFAqaT8I2dwAQ/fWSm8j8L1wdiIuYODlqDttkUDTt7+Fxy3H87SpIqNTYnjzO5AuzbpE ZuagHyKduQxyBtmXHuVrqN+v2Se3KHK+YbOaPWLksUIF+a4huHeAb3oKXcJ7DbnJPps40 JyoNiYB5hbwb918Lx+zGdRAfa0L1FOGJF/GkZkkRSviGR/zG0siO4mmHD1mK+BI=
- Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1765400645; b=UVWQKr7i3CEPZbe9jcgNIAApjOf9xxsp9ncE23f+5PapjejdqOknjp7GnQGtRdQoONNA rSRTtz+FYa+k2yLgt47tfP4odngiyc43fijlSOfD26sT+iFl+jgruwqS5azjAQdBgeQ1c eGGJNDpDB6FrPfnEVD6Qnpd38Yg+/xHt3NCJmmStgqaCebr4zjSJwZh8bYQPzC0ECGY35 DB10Zk+VBNSwdqq3oUqpb3iYz9zV5py6qr1Eim4ZIG1L+Cu/KtCadSEuMzcvrSsB0Rq3G nNdfRx51obBl7JOPEUK1g+bIXzmpdZtpowIAA7AV1pPQvzGokyBcQNJEsfRXtNz979LZq JNk85VLuRDEBrUeFPQ9URiu/1nAIGfRFHhl9KHt8GnaG5TohZR8W5LsIDaD3aTEKVAr6o mIc1GeKp5AINT/mN2QT8EUeVD6UqDU/QlKRcKp64ZmusUtpnlKfby7zF+JqQi7qLUODhN Pa2d5XC4fjzfxSDyc0IK8dUGbBznwmoE60bkGCv8Po8FbiEwiAMVZQK+r68xbf72aKrp8 yslgvlfWMnbPmc3LX+bfUCPuhdSdcPJZg5yRoib14ahSHBa+AlcNsegTMhDTZADx2R0z0 ugmBaJHhi+oDzdXLyEeh6TvDI5pP72CFl2Je7/JHgOdgqzmUojJuEG0ULKRUxHk=
- Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
- Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "consulting @ bugseng . com" <consulting@xxxxxxxxxxx>
- Delivery-date: Wed, 10 Dec 2025 21:04:17 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On 2025-12-10 19:30, Andrew Cooper wrote:
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 <andrew.cooper3@xxxxxxxxxx>
Reviewed-by: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
with one nit below
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>
CC: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: consulting@xxxxxxxxxxx <consulting@xxxxxxxxxxx>
CC: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
---
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;
could I talk you into changing to
fallthrough;
default:
break;
while it's clear that the meaning is the same, the LIVEPATCH_ACTION_*
constants being switched on are not in an enum, which is made more
obvious by the presence of a default clause.
}
}
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 )
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
|