mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

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>
27 lines
764 B
Makefile
27 lines
764 B
Makefile
TESTMODS_DIR := $(realpath $(dir $(abspath $(lastword $(MAKEFILE_LIST)))))
|
|
KDIR ?= /lib/modules/$(shell uname -r)/build
|
|
|
|
obj-m += test_klp_atomic_replace.o \
|
|
test_klp_callbacks_busy.o \
|
|
test_klp_callbacks_demo.o \
|
|
test_klp_callbacks_demo2.o \
|
|
test_klp_callbacks_mod.o \
|
|
test_klp_kprobe.o \
|
|
test_klp_livepatch.o \
|
|
test_klp_shadow_vars.o \
|
|
test_klp_state.o \
|
|
test_klp_state2.o \
|
|
test_klp_state3.o \
|
|
test_klp_syscall.o
|
|
|
|
# Ensure that KDIR exists, otherwise skip the compilation
|
|
modules:
|
|
ifneq ("$(wildcard $(KDIR))", "")
|
|
$(Q)$(MAKE) -C $(KDIR) modules KBUILD_EXTMOD=$(TESTMODS_DIR)
|
|
endif
|
|
|
|
# Ensure that KDIR exists, otherwise skip the clean target
|
|
clean:
|
|
ifneq ("$(wildcard $(KDIR))", "")
|
|
$(Q)$(MAKE) -C $(KDIR) clean KBUILD_EXTMOD=$(TESTMODS_DIR)
|
|
endif
|