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

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
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ KBUILD_CFLAGS := $(REALMODE_CFLAGS) -D_SETUP
KBUILD_AFLAGS	:= $(KBUILD_CFLAGS) -D__ASSEMBLY__
KBUILD_CFLAGS	+= $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
KBUILD_CFLAGS	+= -fno-asynchronous-unwind-tables
KBUILD_CFLAGS	+= $(CONFIG_CC_IMPLICIT_FALLTHROUGH)

$(obj)/bzImage: asflags-y  := $(SVGA_MODE)

+3 −0
Original line number Diff line number Diff line
@@ -246,6 +246,7 @@ int vsprintf(char *buf, const char *fmt, va_list args)

		case 'x':
			flags |= SMALL;
			fallthrough;
		case 'X':
			base = 16;
			break;
@@ -253,6 +254,8 @@ int vsprintf(char *buf, const char *fmt, va_list args)
		case 'd':
		case 'i':
			flags |= SIGN;
			break;

		case 'u':
			break;

+1 −1
Original line number Diff line number Diff line
@@ -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)
{
	__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. */