Commit Graph

1 Commits

Author SHA1 Message Date
Denis Aleksandrov 9645e6e7c4 selftests: livepatch: test livepatching a kprobed function
JIRA: https://issues.redhat.com/browse/RHEL-80215

Conflicts:
  - File relocation: changed location of Makefile and test_klp_kprobe.c
    from tools/testing/selftests/livepatch/test_modules/ to lib/livepatch/.
  - Change insmod usage to modprobe in check_results, found in
    test-kprobe.sh.

The test proves that a function that is being kprobed and uses a
post_handler cannot be livepatched.

Only one ftrace_ops with FTRACE_OPS_FL_IPMODIFY set may be registered
to any given function at a time.

Note that the conflicting kprobe could not be created using the
tracefs interface, see Documentation/trace/kprobetrace.rst.
This interface uses only the pre_handler(), see alloc_trace_kprobe().
But FTRACE_OPS_FL_IPMODIFY is used only when the kprobe is using a
post_handler, see arm_kprobe_ftrace().

Signed-off-by: Michael Vetter <mvetter@suse.com>
Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Reviewed-by: Joe Lawrence <joe.lawrence@redhat.com>
Tested-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Reviewed-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Tested-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20241017200132.21946-4-mvetter@suse.com
Signed-off-by: Petr Mladek <pmladek@suse.com>
(cherry picked from commit 62597edf6340191511bdf9a7f64fa315ddc58805)
Signed-off-by: Denis Aleksandrov <daleksan@redhat.com>
2025-03-06 13:32:22 -05:00