[PATCH 00/14] x86/alternatives: Nest them

From: Borislav Petkov
Date: Fri May 31 2024 - 08:35:38 EST


From: "Borislav Petkov (AMD)" <bp@xxxxxxxxx>

Hi,

this is basically peterz's idea to nest the alternative macros with
a fix to an issue I encountered while testing.

For ease of bisection, the old macros are converted to the new, nested
variants in a step-by-step manner so that in case an issue is
encountered during testing, one can pinpoint the place where it fails
easier. Because debugging alternatives is a serious pain.

Testing here on my farm looks good but who knows what happens out there,
in the wild.

Thx.

Borislav Petkov (AMD) (13):
x86/alternative: Zap alternative_ternary()
x86/alternative: Convert alternative()
x86/alternative: Convert alternative_2()
x86/alternative: Convert alternative_input()
x86/alternative: Convert alternative_io()
x86/alternative: Convert alternative_call()
x86/alternative: Convert alternative_call_2()
x86/alternative: Convert ALTERNATIVE_TERNARY()
x86/alternative: Convert ALTERNATIVE_3()
x86/alternative: Convert the asm ALTERNATIVE() macro
x86/alternative: Convert the asm ALTERNATIVE_2() macro
x86/alternative: Convert the asm ALTERNATIVE_3() macro
x86/alternative: Replace the old macros

Peter Zijlstra (1):
x86/alternatives: Add nested alternatives macros

arch/x86/include/asm/alternative.h | 214 ++++++++---------------------
arch/x86/kernel/alternative.c | 20 ++-
arch/x86/kernel/fpu/xstate.h | 6 +-
tools/objtool/arch/x86/special.c | 23 ++++
tools/objtool/special.c | 16 +--
5 files changed, 113 insertions(+), 166 deletions(-)

--
2.43.0