hi, while adding test for pinning the module while there's trampoline attach to it, I noticed that we don't allow link detach and following re-attach for trampolines. Adding that for tracing and lsm programs. You need to have patch [1] from bpf tree for test module attach test to pass. v5 changes: - fixed missing hlist_del_init change - fixed several ASSERT calls - added extra patch for missing ';' - added ASSERT macros to lsm test - added acks thanks, jirka [1] https://lore.kernel.org/bpf/20210326105900.151466-1-jolsa@xxxxxxxxxx/ --- Jiri Olsa (7): bpf: Allow trampoline re-attach for tracing and lsm programs selftests/bpf: Add missing semicolon selftests/bpf: Add re-attach test to fentry_test selftests/bpf: Add re-attach test to fexit_test selftests/bpf: Add re-attach test to lsm test selftests/bpf: Test that module can't be unloaded with attached trampoline selftests/bpf: Use ASSERT macros in lsm test kernel/bpf/syscall.c | 23 +++++++++++++++++------ kernel/bpf/trampoline.c | 4 ++-- tools/testing/selftests/bpf/prog_tests/fentry_test.c | 52 +++++++++++++++++++++++++++++++++++++--------------- tools/testing/selftests/bpf/prog_tests/fexit_test.c | 52 +++++++++++++++++++++++++++++++++++++--------------- tools/testing/selftests/bpf/prog_tests/module_attach.c | 23 +++++++++++++++++++++++ tools/testing/selftests/bpf/prog_tests/test_lsm.c | 61 +++++++++++++++++++++++++++++++++++++++++-------------------- tools/testing/selftests/bpf/test_progs.h | 2 +- 7 files changed, 158 insertions(+), 59 deletions(-)