[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0a277a7ff97395803d114a0ea74a5cab9fd75237.camel@gmail.com>
Date: Mon, 19 Jan 2026 12:37:39 -0800
From: Eduard Zingerman <eddyz87@...il.com>
To: Menglong Dong <menglong8.dong@...il.com>, ast@...nel.org
Cc: daniel@...earbox.net, john.fastabend@...il.com, andrii@...nel.org,
martin.lau@...ux.dev, song@...nel.org, yonghong.song@...ux.dev,
kpsingh@...nel.org, sdf@...ichev.me, haoluo@...gle.com, jolsa@...nel.org,
bpf@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH bpf-next v5 2/2] selftests/bpf: test the jited inline of
bpf_get_current_task
On Mon, 2026-01-19 at 15:02 +0800, Menglong Dong wrote:
> Add the testcase for the jited inline of bpf_get_current_task().
>
> Signed-off-by: Menglong Dong <dongml2@...natelecom.cn>
> ---
> .../selftests/bpf/prog_tests/verifier.c | 2 ++
> .../selftests/bpf/progs/verifier_jit_inline.c | 35 +++++++++++++++++++
> 2 files changed, 37 insertions(+)
> create mode 100644 tools/testing/selftests/bpf/progs/verifier_jit_inline.c
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/verifier.c b/tools/testing/selftests/bpf/prog_tests/verifier.c
> index 38c5ba70100c..2ae7b096bd64 100644
> --- a/tools/testing/selftests/bpf/prog_tests/verifier.c
> +++ b/tools/testing/selftests/bpf/prog_tests/verifier.c
> @@ -111,6 +111,7 @@
> #include "verifier_xdp_direct_packet_access.skel.h"
> #include "verifier_bits_iter.skel.h"
> #include "verifier_lsm.skel.h"
> +#include "verifier_jit_inline.skel.h"
> #include "irq.skel.h"
>
> #define MAX_ENTRIES 11
> @@ -253,6 +254,7 @@ void test_verifier_bits_iter(void) { RUN(verifier_bits_iter); }
> void test_verifier_lsm(void) { RUN(verifier_lsm); }
> void test_irq(void) { RUN(irq); }
> void test_verifier_mtu(void) { RUN(verifier_mtu); }
> +void test_verifier_jit_inline(void) { RUN(verifier_jit_inline); }
>
> static int init_test_val_map(struct bpf_object *obj, char *map_name)
> {
> diff --git a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
> new file mode 100644
> index 000000000000..0938ca1dac87
> --- /dev/null
> +++ b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
> @@ -0,0 +1,35 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +#include <vmlinux.h>
> +#include <bpf/bpf_helpers.h>
> +#include "bpf_misc.h"
> +
> +#if defined(__TARGET_ARCH_x86) || defined(__TARGET_ARCH_arm64)
I don't think this #if is necessary as well as 'dummy_test'.
test_loader.c:run_subtest() checks current architecture against a mask
supplied by __arch_* annotations and skips the test for unsupported
archs.
> +
> +SEC("fentry/bpf_fentry_test1")
> +__description("Jit inline, bpf_get_current_task")
Nit: please don't use __description() for new tests,
it makes "./test_progs -t" tests selection harder.
> +__success __retval(0)
> +__arch_x86_64
> +__jited(" addq %gs:{{.*}}, %rax")
> +__arch_arm64
> +__jited(" mrs x7, SP_EL0")
> +int inline_bpf_get_current_task(void)
> +{
> + bpf_get_current_task();
> +
> + return 0;
> +}
> +
> +#else
> +
> +SEC("kprobe")
> +__description("Jit inline is not supported, use a dummy test")
> +__success
> +int dummy_test(void)
> +{
> + return 0;
> +}
> +
> +#endif
> +
> +char _license[] SEC("license") = "GPL";
Powered by blists - more mailing lists