[RFC PATCH 0/3] Enable kprobe to monitor sdei event handler

From: Xiongfeng Wang
Date: Fri Apr 12 2019 - 08:06:40 EST


When I use kprobe to monitor a sdei event handler, the CPU will hang. It's
because when I probe the event handler, the instruction will be replaced with
brk instruction and brk exception is unmaskable. But 'vbar_el1' contains
'tramp_vectors' in '_sdei_handler' when SDEI events interrupt userspace, so
we will go to the wrong place if brk exception happens.

I notice that 'ghes_sdei_normal_callback' call several funtions that are not
marked as 'nokprobe'. So I was wondering if we can enable kprobe in '_sdei_handler'.


Xiongfeng Wang (3):
Revert "arm64: debug: remove unused local_dbg_{enable, disable}
macros"
sdei: enable dbg in '_sdei_handler'
stop_machine: mask sdei before running the callback

arch/arm64/include/asm/debug-monitors.h | 1 +
arch/arm64/include/asm/irqflags.h | 4 +++
arch/arm64/kernel/debug-monitors.c | 8 ++++++
arch/arm64/kernel/sdei.c | 43 ++++++++++++++++++++++++++-------
kernel/stop_machine.c | 9 +++++++
5 files changed, 56 insertions(+), 9 deletions(-)

--
1.7.12.4