From: Steven Rostedt <rostedt@goodmis.org>
To: Peter Jung <admin@ptr1337.dev>
Cc: gregkh@linuxfoundation.org, stable@vger.kernel.org,
mhiramat@kernel.org, mathieu.desnoyers@efficios.com,
linux-trace-kernel@vger.kernel.org, linux-kernel@vger.kernel.org,
bpf@vger.kernel.org
Subject: Re: [PATCH 7.1.y] Revert "tracing: perf: Fix stale head for perf syscall tracing"
Date: Sun, 16 Aug 2026 10:57:35 -0400 [thread overview]
Message-ID: <20260816105735.6845e413@robin> (raw)
In-Reply-To: <20260816133101.83109-1-admin@ptr1337.dev>
On Sun, 16 Aug 2026 15:31:01 +0200
Peter Jung <admin@ptr1337.dev> wrote:
> This reverts commit be94a3a77e7eb99c53418de7d4a01bc7eb3f634e.
>
> The upstream commit was applied after commit 57918341dd19 ("bpf: Add
> sleepable support for classic tracepoint programs"), which moved BPF
> program execution before the per-CPU perf event list is checked.
>
> The 7.1.y implementation has not undergone that restructuring. It handles
> BPF and perf consumers together, and already reloads the current CPU's
> perf event list after syscall_get_data().
>
> As a result, the backport adds an unconditional hlist_empty() return before
> bpf_prog_array_valid() is consulted. A syscall trace event can have a valid
> BPF program array while the current CPU's perf event list is empty. In that
> case the early return prevents the BPF program from running.
>
> This breaks BPF consumers of faultable syscall-enter tracepoints such as
> sys_enter_execve. One observed consequence is that Proton VPN's app-based
> split tunneling no longer receives exec argument events and therefore
> cannot match newly started processes.
>
> Revert the stable backport. The existing head assignment below the removed
> block preserves its intended stale-head protection while retaining the
> previous BPF-aware handling.
OK, so the Fixes on the original commit be94a3a77e7e should have had:
Fixes: 57918341dd19 ("bpf: Add sleepable support for classic tracepoint programs")
Instead?
-- Steve
>
> Fixes: be94a3a77e7e ("tracing: perf: Fix stale head for perf syscall tracing")
> Cc: stable@vger.kernel.org
> Assisted-by: Codex:gpt-5.6-sol
> Signed-off-by: Peter Jung <admin@ptr1337.dev>
> ---
> kernel/trace/trace_syscalls.c | 5 -----
> 1 file changed, 5 deletions(-)
>
> diff --git a/kernel/trace/trace_syscalls.c b/kernel/trace/trace_syscalls.c
> index 8dcedff8429a..8ad72e17d8eb 100644
> --- a/kernel/trace/trace_syscalls.c
> +++ b/kernel/trace/trace_syscalls.c
> @@ -1436,11 +1436,6 @@ static void perf_syscall_enter(void *ignore, struct pt_regs *regs, long id)
> if (syscall_get_data(sys_data, args, &user_ptr,
> &size, user_sizes, &uargs, buf_size) < 0)
> return;
> -
> - /* The above may have caused a migration */
> - head = this_cpu_ptr(sys_data->enter_event->perf_events);
> - if (hlist_empty(head))
> - return;
> }
>
> head = this_cpu_ptr(sys_data->enter_event->perf_events);
next prev parent reply other threads:[~2026-08-16 14:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-16 13:31 [PATCH 7.1.y] Revert "tracing: perf: Fix stale head for perf syscall tracing" Peter Jung
2026-08-16 14:57 ` Steven Rostedt [this message]
2026-08-16 19:43 ` Peter Jung
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=20260816105735.6845e413@robin \
--to=rostedt@goodmis.org \
--cc=admin@ptr1337.dev \
--cc=bpf@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=stable@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.