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. v3 changes: - used ASSERT* macros apart from lsm test, which is using CHECKs all over the place [Andrii] - added acks thanks, jirka [1] https://lore.kernel.org/bpf/20210326105900.151466-1-jolsa@xxxxxxxxxx/ --- Jiri Olsa (5): bpf: Allow trampoline re-attach for tracing and lsm programs 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 kernel/bpf/syscall.c | 23 +++++++++++++++++------ kernel/bpf/trampoline.c | 2 +- tools/testing/selftests/bpf/prog_tests/fentry_test.c | 51 ++++++++++++++++++++++++++++++++++++--------------- tools/testing/selftests/bpf/prog_tests/fexit_test.c | 51 ++++++++++++++++++++++++++++++++++++--------------- tools/testing/selftests/bpf/prog_tests/module_attach.c | 23 +++++++++++++++++++++++ tools/testing/selftests/bpf/prog_tests/test_lsm.c | 48 ++++++++++++++++++++++++++++++++++++++---------- tools/testing/selftests/bpf/test_progs.h | 2 +- 7 files changed, 152 insertions(+), 48 deletions(-)