[PATCH 0/4] x86/mce: Remove indirect calls

From: Borislav Petkov
Date: Fri Sep 17 2021 - 06:54:10 EST


From: Borislav Petkov <bp@xxxxxxx>

Hi folks,

this is the first part of me trying to noinstr-ify the mce mess
properly. That one is dealing with making all indirect calls on the #MC
exception path, direct, to avoid the compiler from adding ratpoline
thunks which objtool doesn't like. And when you look at the changes, you
probably would go, gee, why did we ever did indirect calls - it is even
more readable with direct calls and there are practically no downsides.
So let's remove former.

There's another patch ontop which does the actual noinstr annotation but
that takes longer currently due to objtool changes in tip.

So for now, the first part.

As always, constructive review is welcome.

Thx.

Borislav Petkov (4):
x86/mce: Get rid of the mce_severity function pointer
x86/mce: Get rid of machine_check_vector
x86/mce: Get rid of msr_ops
x86/mce: Get rid of the ->quirk_no_way_out() indirect call

arch/x86/include/asm/mce.h | 12 --
arch/x86/kernel/cpu/mce/amd.c | 10 +-
arch/x86/kernel/cpu/mce/core.c | 217 ++++++++++++-----------------
arch/x86/kernel/cpu/mce/internal.h | 47 +++++--
arch/x86/kernel/cpu/mce/p5.c | 6 +-
arch/x86/kernel/cpu/mce/severity.c | 11 +-
arch/x86/kernel/cpu/mce/winchip.c | 6 +-
7 files changed, 137 insertions(+), 172 deletions(-)

--
2.29.2