All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	"Jan Beulich" <JBeulich@suse.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"consulting @ bugseng . com" <consulting@bugseng.com>
Subject: Re: [PATCH 4/5] x86: Fix missing breaks
Date: Wed, 10 Dec 2025 22:04:05 +0100	[thread overview]
Message-ID: <5272a5198db51a40318b844a629900db@bugseng.com> (raw)
In-Reply-To: <20251210183019.2241560-5-andrew.cooper3@citrix.com>

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@citrix.com>
Reviewed-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

with one nit below

> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: consulting@bugseng.com <consulting@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  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


  reply	other threads:[~2025-12-10 21:04 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-10 18:30 [PATCH 0/5] x86: Misc MISRA fixes Andrew Cooper
2025-12-10 18:30 ` [PATCH 1/5] x86: Misra fixes for U/L suffixes Andrew Cooper
2025-12-10 20:09   ` Nicola Vetrini
2025-12-10 20:31     ` Nicola Vetrini
2025-12-10 23:48       ` Andrew Cooper
2025-12-11  7:39         ` Nicola Vetrini
2025-12-10 18:30 ` [PATCH 2/5] x86: Name parameters in function declarations Andrew Cooper
2025-12-10 20:15   ` Nicola Vetrini
2025-12-12  1:39     ` Andrew Cooper
2025-12-10 18:30 ` [PATCH 3/5] x86/ucode: Don't cast away const-ness in cmp_patch_id() Andrew Cooper
2025-12-10 20:37   ` Nicola Vetrini
2025-12-11  0:06     ` Stefano Stabellini
2025-12-10 18:30 ` [PATCH 4/5] x86: Fix missing breaks Andrew Cooper
2025-12-10 21:04   ` Nicola Vetrini [this message]
2025-12-10 18:30 ` [PATCH 5/5] x86: Fix missing brackets in macros Andrew Cooper
2025-12-10 21:11   ` Nicola Vetrini
2025-12-11  0:07     ` Stefano Stabellini
2025-12-11  8:36   ` Jan Beulich
2025-12-11  9:15     ` Nicola Vetrini
2025-12-11  9:30       ` Jan Beulich
2025-12-11 10:38         ` Nicola Vetrini
2025-12-11 12:28           ` Nicola Vetrini
2025-12-12  1:45             ` Andrew Cooper

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5272a5198db51a40318b844a629900db@bugseng.com \
    --to=nicola.vetrini@bugseng.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=consulting@bugseng.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.