From: Jiri Olsa <jolsa@kernel.org> To: Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Andrii Nakryiko <andriin@fb.com> Cc: "Andrii Nakryiko" <andrii@kernel.org>, netdev@vger.kernel.org, bpf@vger.kernel.org, "Martin KaFai Lau" <kafai@fb.com>, "Song Liu" <songliubraving@fb.com>, "Yonghong Song" <yhs@fb.com>, "John Fastabend" <john.fastabend@gmail.com>, "KP Singh" <kpsingh@chromium.org>, "Toke Høiland-Jørgensen" <toke@redhat.com>, "Julia Lawall" <julia.lawall@inria.fr> Subject: [PATCHv5 bpf-next 6/7] selftests/bpf: Test that module can't be unloaded with attached trampoline Date: Wed, 14 Apr 2021 21:51:46 +0200 [thread overview] Message-ID: <20210414195147.1624932-7-jolsa@kernel.org> (raw) In-Reply-To: <20210414195147.1624932-1-jolsa@kernel.org> Adding test to verify that once we attach module's trampoline, the module can't be unloaded. Acked-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Jiri Olsa <jolsa@kernel.org> --- .../selftests/bpf/prog_tests/module_attach.c | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tools/testing/selftests/bpf/prog_tests/module_attach.c b/tools/testing/selftests/bpf/prog_tests/module_attach.c index 5bc53d53d86e..d85a69b7ce44 100644 --- a/tools/testing/selftests/bpf/prog_tests/module_attach.c +++ b/tools/testing/selftests/bpf/prog_tests/module_attach.c @@ -45,12 +45,18 @@ static int trigger_module_test_write(int write_sz) return 0; } +static int delete_module(const char *name, int flags) +{ + return syscall(__NR_delete_module, name, flags); +} + void test_module_attach(void) { const int READ_SZ = 456; const int WRITE_SZ = 457; struct test_module_attach* skel; struct test_module_attach__bss *bss; + struct bpf_link *link; int err; skel = test_module_attach__open(); @@ -84,6 +90,23 @@ void test_module_attach(void) ASSERT_EQ(bss->fexit_ret, -EIO, "fexit_tet"); ASSERT_EQ(bss->fmod_ret_read_sz, READ_SZ, "fmod_ret"); + test_module_attach__detach(skel); + + /* attach fentry/fexit and make sure it get's module reference */ + link = bpf_program__attach(skel->progs.handle_fentry); + if (!ASSERT_OK_PTR(link, "attach_fentry")) + goto cleanup; + + ASSERT_ERR(delete_module("bpf_testmod", 0), "delete_module"); + bpf_link__destroy(link); + + link = bpf_program__attach(skel->progs.handle_fexit); + if (!ASSERT_OK_PTR(link, "attach_fexit")) + goto cleanup; + + ASSERT_ERR(delete_module("bpf_testmod", 0), "delete_module"); + bpf_link__destroy(link); + cleanup: test_module_attach__destroy(skel); } -- 2.30.2
next prev parent reply other threads:[~2021-04-14 19:52 UTC|newest] Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-14 19:51 [PATCHv5 bpf-next 0/7] bpf: Tracing and lsm programs re-attach Jiri Olsa 2021-04-14 19:51 ` [PATCHv5 bpf-next 1/7] bpf: Allow trampoline re-attach for tracing and lsm programs Jiri Olsa 2021-04-15 23:22 ` Andrii Nakryiko 2021-04-19 22:47 ` KP Singh 2021-04-14 19:51 ` [PATCHv5 bpf-next 2/7] selftests/bpf: Add missing semicolon Jiri Olsa 2021-04-15 23:23 ` Andrii Nakryiko 2021-04-14 19:51 ` [PATCHv5 bpf-next 3/7] selftests/bpf: Add re-attach test to fentry_test Jiri Olsa 2021-04-14 19:51 ` [PATCHv5 bpf-next 4/7] selftests/bpf: Add re-attach test to fexit_test Jiri Olsa 2021-04-14 19:51 ` [PATCHv5 bpf-next 5/7] selftests/bpf: Add re-attach test to lsm test Jiri Olsa 2021-04-14 19:51 ` Jiri Olsa [this message] 2021-04-14 19:51 ` [PATCHv5 bpf-next 7/7] selftests/bpf: Use ASSERT macros in " Jiri Olsa 2021-04-15 23:24 ` Andrii Nakryiko 2021-04-15 23:45 ` [PATCHv5 bpf-next 0/7] bpf: Tracing and lsm programs re-attach Alexei Starovoitov 2021-04-16 6:55 ` Jiri Olsa 2021-04-26 4:14 ` Alexei Starovoitov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210414195147.1624932-7-jolsa@kernel.org \ --to=jolsa@kernel.org \ --cc=andrii@kernel.org \ --cc=andriin@fb.com \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=daniel@iogearbox.net \ --cc=john.fastabend@gmail.com \ --cc=julia.lawall@inria.fr \ --cc=kafai@fb.com \ --cc=kpsingh@chromium.org \ --cc=netdev@vger.kernel.org \ --cc=songliubraving@fb.com \ --cc=toke@redhat.com \ --cc=yhs@fb.com \ --subject='Re: [PATCHv5 bpf-next 6/7] selftests/bpf: Test that module can'\''t be unloaded with attached trampoline' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).