From: sashiko-bot@kernel.org
To: "Leon Hwang" <leon.hwang@linux.dev>
Cc: bpf@vger.kernel.org
Subject: Re: [PATCH bpf-next v2 2/2] selftests/bpf: Verify rejection of sleepable tracing prog
Date: Sat, 25 Jul 2026 13:33:09 +0000 [thread overview]
Message-ID: <20260725133309.B66B31F00A3A@smtp.kernel.org> (raw)
In-Reply-To: <20260725132624.78373-3-leon.hwang@linux.dev>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The test contains dead code after the expected failure of `fentry_sleepable__load()`. If this code executes on an unfixed kernel, it intentionally triggers a kernel BUG and crashes the test environment.
--
--- Patch [2]: [PATCH bpf-next v2 2/2] selftests/bpf: Verify rejection of sleepable tracing prog ---
commit 44292a230f0467503b72b0ecb8c6c25244de310b
Author: Leon Hwang <leon.hwang@linux.dev>
selftests/bpf: Verify rejection of sleepable tracing prog
This commit adds a selftest to verify that a sleepable tracing program
cannot attach to a '__x64_sys' prefix program target. The test attempts
to load the program and expects the load to fail, avoiding a kernel BUG
on unpatched kernels.
> diff --git a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
> --- a/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
> +++ b/tools/testing/selftests/bpf/prog_tests/fexit_bpf2bpf.c
[ ... ]
> @@ -576,6 +577,60 @@ static void test_func_replace_progmap(void)
[ ... ]
> +static void test_sleepable_fentry_to_xdp(void)
> +{
[ ... ]
> + err = fentry_sleepable__load(skel);
> + ASSERT_ERR(err, "fentry_sleepable__load");
> + if (err)
> + goto out;
> +
> + skel->links.fentry_xdp = bpf_program__attach_trace(skel->progs.fentry_xdp);
> + if (!ASSERT_OK_PTR(skel->links.fentry_xdp, "bpf_program__attach_trace"))
> + goto out;
> +
> + skel_xdp->links.__x64_sys_nop = bpf_program__attach_xdp(skel_xdp->progs.__x64_sys_nop,
> + ifindex);
> + if (!ASSERT_OK_PTR(skel_xdp->links.__x64_sys_nop, "bpf_program__attach_xdp"))
> + goto out;
> +
> + err = system("ping -q -c 1 -W 1 127.0.0.1 > /dev/null");
> + ASSERT_OK(err, "ping");
> + ASSERT_ERR(skel->bss->retval, "retval");
> +
> +out:
> + fentry_sleepable__destroy(skel);
> + xdp_dummy__destroy(skel_xdp);
> +}
[Severity: Medium]
Since the test expects fentry_sleepable__load() to fail (meaning err < 0),
won't the "if (err) goto out;" statement cause the test to immediately branch
to out?
If this code behaves as expected, it appears all the subsequent logic for
bpf_program__attach_trace(), bpf_program__attach_xdp(), and the ping command
becomes unreachable dead code.
Conversely, if the test runs on an unpatched kernel where the load
unexpectedly succeeds (err == 0), the test would fall through to the attach
and ping logic. Could executing this sequence on an unpatched kernel trigger
the exact kernel BUG mentioned in the commit message, potentially crashing
the test environment instead of gracefully failing the test?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260725132624.78373-1-leon.hwang@linux.dev?part=2
prev parent reply other threads:[~2026-07-25 13:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-25 13:26 [PATCH bpf-next v2 0/2] bpf: Fix sleepable check for tracing prog Leon Hwang
2026-07-25 13:26 ` [PATCH bpf-next v2 1/2] " Leon Hwang
2026-07-25 13:26 ` [PATCH bpf-next v2 2/2] selftests/bpf: Verify rejection of sleepable " Leon Hwang
2026-07-25 13:33 ` sashiko-bot [this message]
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=20260725133309.B66B31F00A3A@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=leon.hwang@linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox