• Vasily Gorbik's avatar
    s390/test_unwind: fix and extend kprobes test · 9ba142f4
    Vasily Gorbik authored
    Running kprobe test on a kernel built with clang 14 didn't actually
    trigger pgm_pre_handler() and no unwinder code was called. Even though
    do_report_trap() is a global symbol, clang inlined it in several local
    functions including illegal_op() handler, so that kprobbing a global
    symbol didn't have a desired effect.
    
    To achieve the same test result (unwinding from a program check
    handler) introduce a local function and probe an instruction in the
    middle, so that kprobe doesn't take KPROBE_ON_FTRACE path.
    
    While at it, add another test for KPROBE_ON_FTRACE.
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    9ba142f4
test_unwind.c 11.6 KB