From: sashiko-bot@kernel.org
To: "James Houghton" <jthoughton@google.com>
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [RFC PATCH 04/10] stacktrace: Don't unwind the user stack without an mm
Date: Mon, 26 Oct 2026 21:59:25 +0000 [thread overview]
Message-ID: <sashiko-outbox-185772@kernel.org> (raw)
In-Reply-To: <20261026215226.3713941-5-jthoughton@google.com>
> stack_trace_save_user() only refuses to unwind the user stack of tasks
> with PF_KTHREAD set. That doesn't cover all tasks without an mm:
>
> - A user task that has already gone through exit_mm(), e.g. when an
> event fires from exit_files(), exit_task_work() or the final context
> switch in do_exit().
> - PID 1 before it execs init, and usermode helper children before they
> exec, which are created with user_mode_thread() and don't have
> PF_KTHREAD set. E.g. booting with trace_options=userstacktrace and
> an event enabled with trace_event= unwinds PID 1's "user stack"
> during initcalls.
>
> With the ftrace userstacktrace option enabled, the architecture
> unwinders then read the user stack without an mm. That access does not
> reliably fail: the user half of the address space belongs to whatever
> mm happens to be lazily loaded, if any, so the unwinder may read
> another task's memory.
>
> Use is_user_task() instead, which also checks current->mm, as perf
> already does for the same reason since commit 76ed27608f7d ("perf:
> sched: Fix perf crash with new is_user_task() helper"). This also stops
> unwinding the user stack of PF_USER_WORKER threads, which never run in
> user space, matching perf.
>
> Fixes: 214d8ca6ee85 ("stacktrace: Provide common infrastructure")
> Signed-off-by: James Houghton <jthoughton@google.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261026215226.3713941-1-jthoughton@google.com?part=4
next prev parent reply other threads:[~2026-10-26 21:59 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-26 21:52 [RFC PATCH 00/10] uaccess: Refuse and warn on user accesses when current->mm is NULL James Houghton
2026-10-26 21:52 ` [RFC PATCH 01/10] scsi: bsg: Don't copy sense data to user memory when canceled James Houghton
2026-10-26 22:17 ` sashiko-bot
2026-10-27 2:41 ` Jens Axboe
2026-10-27 17:52 ` James Houghton
2026-10-26 21:52 ` [RFC PATCH 02/10] btrfs: Don't copy encoded read " James Houghton
2026-10-26 22:06 ` sashiko-bot
2026-10-27 2:42 ` Jens Axboe
2026-10-26 21:52 ` [RFC PATCH 03/10] bpf: Fail sleepable user copy helpers when current->mm is NULL James Houghton
2026-10-26 21:59 ` sashiko-bot
2026-10-26 22:30 ` bot+bpf-ci
2026-10-26 22:30 ` bot+bpf-ci
2026-10-27 18:50 ` James Houghton
2026-10-26 21:52 ` [RFC PATCH 04/10] stacktrace: Don't unwind the user stack without an mm James Houghton
2026-10-26 21:59 ` sashiko-bot [this message]
2026-10-26 22:30 ` bot+bpf-ci
2026-10-26 22:30 ` bot+bpf-ci
2026-10-26 22:55 ` James Houghton
2026-10-26 21:52 ` [RFC PATCH 05/10] perf/core: " James Houghton
2026-10-26 21:58 ` sashiko-bot
2026-10-27 11:09 ` Peter Zijlstra
2026-10-27 17:45 ` James Houghton
2026-10-26 21:52 ` [RFC PATCH 06/10] uaccess: Refuse and warn on user copies when current->mm is NULL James Houghton
2026-10-26 22:08 ` sashiko-bot
2026-10-26 22:42 ` bot+bpf-ci
2026-10-26 22:42 ` bot+bpf-ci
2026-10-26 23:41 ` James Houghton
2026-10-26 21:52 ` [RFC PATCH 07/10] uaccess: Fail user nofault helpers quietly " James Houghton
2026-10-26 22:11 ` sashiko-bot
2026-10-26 21:52 ` [RFC PATCH 08/10] uaccess: Refuse and warn on __copy_from_user_inatomic() without an mm James Houghton
2026-10-26 22:05 ` sashiko-bot
2026-10-26 22:30 ` bot+bpf-ci
2026-10-26 22:30 ` bot+bpf-ci
2026-10-26 22:41 ` James Houghton
2026-10-26 21:52 ` [RFC PATCH 09/10] uaccess: Refuse and warn on more user accesses " James Houghton
2026-10-26 22:00 ` sashiko-bot
2026-10-26 21:52 ` [RFC PATCH 10/10] uaccess: Move the NULL mm warning out of line James Houghton
2026-10-26 22:02 ` sashiko-bot
2026-10-26 23:02 ` Arnd Bergmann
2026-10-26 23:51 ` James Houghton
2026-10-27 0:12 ` [RFC PATCH 00/10] uaccess: Refuse and warn on user accesses when current->mm is NULL Arnd Bergmann
2026-10-27 10:33 ` Arnd Bergmann
2026-10-27 17:29 ` James Houghton
2026-10-27 18:32 ` Arnd Bergmann
2026-10-27 21:18 ` Sean Christopherson
2026-10-27 23:17 ` James Houghton
2026-10-28 23:13 ` Arnd Bergmann
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=sashiko-outbox-185772@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=jthoughton@google.com \
--cc=linux-perf-users@vger.kernel.org \
--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 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.