diff options
author | Alexei Starovoitov <ast@kernel.org> | 2022-10-25 10:14:51 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2022-10-25 10:14:51 -0700 |
commit | 31af1aa09fb9b31694a4bad7e49204c75fb6f7dc (patch) | |
tree | b05ceb3a545093b8c8526ecd065b38e352853be2 /tools/testing/selftests/bpf/prog_tests/module_attach.c | |
parent | 152e60e3fa2fa383357b4bac6306e91f6b25e32c (diff) | |
parent | b2440443a64f1b687df364089e6dcb23da4f9598 (diff) | |
download | linux-31af1aa09fb9b31694a4bad7e49204c75fb6f7dc.tar.gz linux-31af1aa09fb9b31694a4bad7e49204c75fb6f7dc.tar.bz2 linux-31af1aa09fb9b31694a4bad7e49204c75fb6f7dc.zip |
Merge branch 'bpf: Fixes for kprobe multi on kernel modules'
Jiri Olsa says:
====================
hi,
Martynas reported kprobe _multi link does not resolve symbols
from kernel modules, which attach by address works.
In addition while fixing that I realized we do not take module
reference if the module has kprobe_multi link on top of it and
can be removed.
There's mo crash related to this, it will silently disappear from
ftrace tables, while kprobe_multi link stays up with no data.
This patchset has fixes for both issues.
v3 changes:
- reorder fields in struct bpf_kprobe_multi_link [Andrii]
- added ack [Andrii]
v2 changes:
- added acks (Song)
- added comment to kallsyms_callback (Song)
- change module_callback realloc logic (Andrii)
- get rid of macros in tests (Andrii)
thanks,
jirka
====================
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/module_attach.c')
-rw-r--r-- | tools/testing/selftests/bpf/prog_tests/module_attach.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/module_attach.c b/tools/testing/selftests/bpf/prog_tests/module_attach.c index 6d0e50dcf47c..7fc01ff490db 100644 --- a/tools/testing/selftests/bpf/prog_tests/module_attach.c +++ b/tools/testing/selftests/bpf/prog_tests/module_attach.c @@ -103,6 +103,13 @@ void test_module_attach(void) ASSERT_ERR(delete_module("bpf_testmod", 0), "delete_module"); bpf_link__destroy(link); + link = bpf_program__attach(skel->progs.kprobe_multi); + if (!ASSERT_OK_PTR(link, "attach_kprobe_multi")) + goto cleanup; + + ASSERT_ERR(delete_module("bpf_testmod", 0), "delete_module"); + bpf_link__destroy(link); + cleanup: test_module_attach__destroy(skel); } |