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

From: Borislav Petkov
Date: Fri Jun 07 2024 - 07:17:13 EST


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

Hi,

here's the next revision

[ v1 - the last one was v0 even if not denoted as such:
https://lore.kernel.org/r/20240531123512.21427-1-bp@xxxxxxxxxx ]

of the alternatives nesting patchset.

All feedback has been incorporated and testing with it still looks good.

Thx.

Changelog:

v0:
---

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 | 225 +++++++++--------------------
arch/x86/kernel/alternative.c | 20 ++-
arch/x86/kernel/fpu/xstate.h | 14 +-
tools/objtool/arch/x86/special.c | 23 +++
tools/objtool/special.c | 16 +-
5 files changed, 125 insertions(+), 173 deletions(-)

--
2.43.0