On Thu, Nov 11, 2021 at 9:03 PM Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > From: Alexei Starovoitov <ast@xxxxxxxxxx> > > Additional test where randmap() function is appended to three different bpf > programs. That action checks struct bpf_core_relo replication logic and offset > adjustment. > > Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxx> > --- > tools/testing/selftests/bpf/Makefile | 2 +- > .../selftests/bpf/prog_tests/core_kern.c | 21 +++++++ > tools/testing/selftests/bpf/progs/core_kern.c | 60 +++++++++++++++++++ > 3 files changed, 82 insertions(+), 1 deletion(-) > create mode 100644 tools/testing/selftests/bpf/prog_tests/core_kern.c > create mode 100644 tools/testing/selftests/bpf/progs/core_kern.c > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index 539a70b3b770..df6a9865b3b5 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -326,7 +326,7 @@ LINKED_SKELS := test_static_linked.skel.h linked_funcs.skel.h \ > > LSKELS := kfunc_call_test.c fentry_test.c fexit_test.c fexit_sleep.c \ > test_ringbuf.c atomics.c trace_printk.c trace_vprintk.c \ > - kfunc_call_test_subprog.c map_ptr_kern.c > + kfunc_call_test_subprog.c map_ptr_kern.c core_kern.c > # Generate both light skeleton and libbpf skeleton for these > LSKELS_EXTRA := test_ksyms_module.c test_ksyms_weak.c > SKEL_BLACKLIST += $$(LSKELS) > diff --git a/tools/testing/selftests/bpf/prog_tests/core_kern.c b/tools/testing/selftests/bpf/prog_tests/core_kern.c > new file mode 100644 > index 000000000000..f64843c5728c > --- /dev/null > +++ b/tools/testing/selftests/bpf/prog_tests/core_kern.c > @@ -0,0 +1,21 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* Copyright (c) 2021 Facebook */ > + > +#include "test_progs.h" > +#include "core_kern.lskel.h" > + > +void test_core_kern_lskel(void) > +{ > + struct core_kern_lskel *skel; > + int err; > + > + skel = core_kern_lskel__open_and_load(); > + if (!ASSERT_OK_PTR(skel, "open_and_load")) > + goto cleanup; > + > + err = core_kern_lskel__attach(skel); Why attaching if you are never triggering it? This test is about testing load, right? Let's drop the attach then. > + if (!ASSERT_OK(err, "attach")) > + goto cleanup; > +cleanup: > + core_kern_lskel__destroy(skel); > +} [...]