• Masami Hiramatsu's avatar
    kprobes: Add a test case for stacktrace from kretprobe handler · 1f6d3a8f
    Masami Hiramatsu authored
    Add a test case for stacktrace from kretprobe handler and
    nested kretprobe handlers.
    
    This test checks both of stack trace inside kretprobe handler
    and stack trace from pt_regs. Those stack trace must include
    actual function return address instead of kretprobe trampoline.
    The nested kretprobe stacktrace test checks whether the unwinder
    can correctly unwind the call frame on the stack which has been
    modified by the kretprobe.
    
    Since the stacktrace on kretprobe is correctly fixed only on x86,
    this introduces a meta kconfig ARCH_CORRECT_STACKTRACE_ON_KRETPROBE
    which tells user that the stacktrace on kretprobe is correct or not.
    
    The test results will be shown like below;
    
     TAP version 14
     1..1
         # Subtest: kprobes_test
         1..6
         ok 1 - test_kprobe
         ok 2 - test_kprobes
         ok 3 - test_kretprobe
         ok 4 - test_kretprobes
         ok 5 - test_stacktrace_on_kretprobe
         ok 6 - test_stacktrace_on_nested_kretprobe
     # kprobes_test: pass:6 fail:0 skip:0 total:6
     # Totals: pass:6 fail:0 skip:0 total:6
     ok 1 - kprobes_test
    
    Link: https://lkml.kernel.org/r/163516211244.604541.18350507860972214415.stgit@devnote2Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    1f6d3a8f
test_kprobes.c 9.38 KB