[PATCH v1 0/5] x86/mce: Remove indirect calls

From: Borislav Petkov
Date: Wed Sep 22 2021 - 12:51:06 EST


From: Borislav Petkov <bp@xxxxxxx>

Hi,

here's v1 with all review comments addressed.

Changelog:
----------

v0:

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.

Borislav Petkov (5):
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
x86/mce: Sort mca_config members to get rid of unnecessary padding

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 | 59 +++++---
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, 141 insertions(+), 180 deletions(-)

--
2.29.2