[RFC PATCH 0/4] x86, alternatives: Insn padding and more robust JMPs

Borislav Petkov
2015-01-05T15:00:20Z

Hi all,

this is something which hpa and I talked about recently: the ability for
the alternatives code to add padding to the original instruction in case
the replacement is longer and also to be able to simply write "jmp" and
not care about which JMP exactly the compiler generates and whether the
relative offsets are correct.

So this is a stab at it, it seems to boot in kvm here but it needs more
staring to make sure we're actually generating the proper code at all
times.

Thus the RFC tag, comments/suggestions are welcome.

Thanks.

Borislav Petkov (4):
x86, copy_user: Remove FIX_ALIGNMENT define
x86, alternatives: Cleanup DPRINTK macro
alternatives: Add instruction padding
alternatives: Make JMPs more robust

arch/x86/include/asm/alternative-asm.h | 38 ++++++++++
arch/x86/include/asm/alternative.h | 34 +++++----
arch/x86/include/asm/cpufeature.h | 12 +--
arch/x86/kernel/alternative.c | 130 +++++++++++++++++++++++++++------
arch/x86/lib/copy_page_64.S | 34 ++++-----
arch/x86/lib/copy_user_64.S | 44 ++---------
6 files changed, 193 insertions(+), 99 deletions(-)

--
2.2.0.33.gc18b867