Re: [PATCH] x86/boot: Address clang -Wimplicit-fallthrough in vsprintf()

From: Justin Stitt
Date: Thu May 16 2024 - 19:08:38 EST


On Thu, May 16, 2024 at 7:03 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
> After enabling -Wimplicit-fallthrough for the x86 boot code, clang
> warns:
>
> arch/x86/boot/printf.c:257:3: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
> 257 | case 'u':
> | ^
>
> Clang is a little more pedantic than GCC, which does not warn when
> falling through to a case that is just break or return. Clang's version
> is more in line with the kernel's own stance in deprecated.rst, which
> states that all switch/case blocks must end in either break,
> fallthrough, continue, goto, or return. Add the missing break to silence
> the warning.
>
> Fixes: dd0716c2b877 ("x86/boot: Add a fallthrough annotation")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202405162054.ryP73vy1-lkp@xxxxxxxxx/
> Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>

Seems simple enough.

Acked-by: Justin Stitt <justinstitt@xxxxxxxxxx>

> ---
> arch/x86/boot/printf.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/boot/printf.c b/arch/x86/boot/printf.c
> index c0ec1dc355ab..51dc14b714f6 100644
> --- a/arch/x86/boot/printf.c
> +++ b/arch/x86/boot/printf.c
> @@ -254,6 +254,8 @@ int vsprintf(char *buf, const char *fmt, va_list args)
> case 'd':
> case 'i':
> flags |= SIGN;
> + break;
> +
> case 'u':
> break;
>
>
> ---
> base-commit: dd0716c2b87792ebea30864e7ad1df461d4c1525
> change-id: 20240516-x86-boot-fix-clang-implicit-fallthrough-fc5c9bb19765
>
> Best regards,
> --
> Nathan Chancellor <nathan@xxxxxxxxxx>
>