From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Andrew Morton <akpm@linux-foundation.org>,
Josh Poimboeuf <jpoimboe@kernel.org>,
x86@kernel.org, Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Indu Bhagat <indu.bhagat@oracle.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
linux-perf-users@vger.kernel.org, Mark Brown <broonie@kernel.org>,
linux-toolchains@vger.kernel.org, Jordan Rome <jordalgo@meta.com>,
Sam James <sam@gentoo.org>,
Andrii Nakryiko <andrii.nakryiko@gmail.com>,
Jens Remus <jremus@linux.ibm.com>,
Florian Weimer <fweimer@redhat.com>,
Andy Lutomirski <luto@kernel.org>, Weinan Liu <wnliu@google.com>,
Blake Jones <blakejones@google.com>,
Beau Belgrave <beaub@linux.microsoft.com>,
"Jose E. Marchesi" <jemarch@gnu.org>,
Alexander Aring <aahringo@redhat.com>
Subject: [PATCH v7 10/18] perf: Have get_perf_callchain() return NULL if crosstask and user are set
Date: Wed, 30 Apr 2025 15:57:56 -0400 [thread overview]
Message-ID: <20250430200109.173686252@goodmis.org> (raw)
In-Reply-To: 20250430195746.827125963@goodmis.org
From: Josh Poimboeuf <jpoimboe@kernel.org>
get_perf_callchain() doesn't support cross-task unwinding for user space
stacks, have it return NULL if both the crosstask and user arguments are
set.
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
kernel/events/callchain.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/events/callchain.c b/kernel/events/callchain.c
index b0f5bd228cd8..abf258913ab6 100644
--- a/kernel/events/callchain.c
+++ b/kernel/events/callchain.c
@@ -224,6 +224,10 @@ get_perf_callchain(struct pt_regs *regs, bool kernel, bool user,
struct perf_callchain_entry_ctx ctx;
int rctx, start_entry_idx;
+ /* crosstask is not supported for user stacks */
+ if (crosstask && user)
+ return NULL;
+
entry = get_callchain_entry(&rctx);
if (!entry)
return NULL;
@@ -249,9 +253,6 @@ get_perf_callchain(struct pt_regs *regs, bool kernel, bool user,
}
if (regs) {
- if (crosstask)
- goto exit_put;
-
if (add_mark)
perf_callchain_store_context(&ctx, PERF_CONTEXT_USER);
@@ -261,7 +262,6 @@ get_perf_callchain(struct pt_regs *regs, bool kernel, bool user,
}
}
-exit_put:
put_callchain_entry(rctx);
return entry;
--
2.47.2
next prev parent reply other threads:[~2025-04-30 20:01 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 19:57 [PATCH v7 00/18] perf: Deferred unwinding of user space stack traces Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 01/18] unwind_user: Add user space unwinding API Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 02/18] unwind_user: Add frame pointer support Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 03/18] unwind_user/x86: Enable frame pointer unwinding on x86 Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 04/18] perf/x86: Rename and move get_segment_base() and make it global Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 05/18] unwind_user: Add compat mode frame pointer support Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 06/18] unwind_user/x86: Enable compat mode frame pointer unwinding on x86 Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 07/18] unwind_user/deferred: Add unwind_deferred_trace() Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 08/18] unwind_user/deferred: Add unwind cache Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 09/18] perf: Remove get_perf_callchain() init_nr argument Steven Rostedt
2025-04-30 19:57 ` Steven Rostedt [this message]
2025-04-30 19:57 ` [PATCH v7 11/18] perf: Use current->flags & PF_KTHREAD instead of current->mm == NULL Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 12/18] perf: Simplify get_perf_callchain() user logic Steven Rostedt
2025-04-30 19:57 ` [PATCH v7 13/18] perf: Skip user unwind if the task is a kernel thread Steven Rostedt
2025-04-30 19:58 ` [PATCH v7 14/18] perf: Support deferred user callchains Steven Rostedt
2025-04-30 19:58 ` [PATCH v7 15/18] perf tools: Minimal CALLCHAIN_DEFERRED support Steven Rostedt
2025-04-30 19:58 ` [PATCH v7 16/18] perf record: Enable defer_callchain for user callchains Steven Rostedt
2025-04-30 19:58 ` [PATCH v7 17/18] perf script: Display PERF_RECORD_CALLCHAIN_DEFERRED Steven Rostedt
2025-04-30 19:58 ` [PATCH v7 18/18] perf tools: Merge deferred user callchains Steven Rostedt
2025-04-30 20:07 ` Ian Rogers
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=20250430200109.173686252@goodmis.org \
--to=rostedt@goodmis.org \
--cc=aahringo@redhat.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=andrii.nakryiko@gmail.com \
--cc=beaub@linux.microsoft.com \
--cc=blakejones@google.com \
--cc=broonie@kernel.org \
--cc=fweimer@redhat.com \
--cc=indu.bhagat@oracle.com \
--cc=irogers@google.com \
--cc=jemarch@gnu.org \
--cc=jolsa@kernel.org \
--cc=jordalgo@meta.com \
--cc=jpoimboe@kernel.org \
--cc=jremus@linux.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-toolchains@vger.kernel.org \
--cc=linux-trace-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.desnoyers@efficios.com \
--cc=mhiramat@kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=sam@gentoo.org \
--cc=wnliu@google.com \
--cc=x86@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.