[PATCH 0/3] Rewrite x86/ftrace to use text_poke()

From: Peter Zijlstra
Date: Tue Aug 27 2019 - 14:13:19 EST


Ftrace was one of the last W^X violators; these patches move it over to the
generic text_poke() interface and thereby get rid of this oddity.

The first patch has been posted before and was/is part of my (in-progress)
static_call and jump_label/jmp8 patch series; but is equally needed here.

The second patch cleans up the text_poke batching code, and the third converts
ftrace.

---
arch/x86/include/asm/ftrace.h | 2 -
arch/x86/include/asm/text-patching.h | 28 +-
arch/x86/kernel/alternative.c | 156 +++++++--
arch/x86/kernel/ftrace.c | 620 +++++------------------------------
arch/x86/kernel/jump_label.c | 83 ++---
arch/x86/kernel/kprobes/opt.c | 11 +-
arch/x86/kernel/traps.c | 9 -
7 files changed, 261 insertions(+), 648 deletions(-)