s390/test_unwind: fix and extend kprobes test
authorVasily Gorbik <gor@linux.ibm.com>
Wed, 2 Feb 2022 23:49:41 +0000 (00:49 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 1 Mar 2022 20:05:09 +0000 (21:05 +0100)
commit9ba142f472c1e4ec514f3bad1134b6b6ad8f6c13
tree2f0e9877eb0de5e59ccf5a1cef4a3aa4c4c46282
parent829ec7491c401e4a3068955a438578d2c2ae8acc
s390/test_unwind: fix and extend kprobes test

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: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/lib/test_unwind.c