Commit 41c14f1a authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:

 - Fix a NOP-patching bug that resulted in valid but suboptimal
   NOP sequences in certain cases

 - Fix build warnings related to fall-through control flow

* tag 'x86-urgent-2024-05-18' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/alternatives: Use the correct length when optimizing NOPs
  x86/boot: Address clang -Wimplicit-fallthrough in vsprintf()
  x86/boot: Add a fallthrough annotation
parents 8dde191a 9dba9c67
...@@ -56,6 +56,7 @@ KBUILD_CFLAGS := $(REALMODE_CFLAGS) -D_SETUP ...@@ -56,6 +56,7 @@ KBUILD_CFLAGS := $(REALMODE_CFLAGS) -D_SETUP
KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__ KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=) KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
KBUILD_CFLAGS += -fno-asynchronous-unwind-tables KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
KBUILD_CFLAGS += $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
$(obj)/bzImage: asflags-y := $(SVGA_MODE) $(obj)/bzImage: asflags-y := $(SVGA_MODE)
......
...@@ -246,6 +246,7 @@ int vsprintf(char *buf, const char *fmt, va_list args) ...@@ -246,6 +246,7 @@ int vsprintf(char *buf, const char *fmt, va_list args)
case 'x': case 'x':
flags |= SMALL; flags |= SMALL;
fallthrough;
case 'X': case 'X':
base = 16; base = 16;
break; break;
...@@ -253,6 +254,8 @@ int vsprintf(char *buf, const char *fmt, va_list args) ...@@ -253,6 +254,8 @@ int vsprintf(char *buf, const char *fmt, va_list args)
case 'd': case 'd':
case 'i': case 'i':
flags |= SIGN; flags |= SIGN;
break;
case 'u': case 'u':
break; break;
......
...@@ -372,7 +372,7 @@ static void __apply_relocation(u8 *buf, const u8 * const instr, size_t instrlen, ...@@ -372,7 +372,7 @@ static void __apply_relocation(u8 *buf, const u8 * const instr, size_t instrlen,
void apply_relocation(u8 *buf, const u8 * const instr, size_t instrlen, u8 *repl, size_t repl_len) void apply_relocation(u8 *buf, const u8 * const instr, size_t instrlen, u8 *repl, size_t repl_len)
{ {
__apply_relocation(buf, instr, instrlen, repl, repl_len); __apply_relocation(buf, instr, instrlen, repl, repl_len);
optimize_nops(instr, buf, repl_len); optimize_nops(instr, buf, instrlen);
} }
/* Low-level backend functions usable from alternative code replacements. */ /* Low-level backend functions usable from alternative code replacements. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment