From: sashiko-bot@kernel.org
To: "James Houghton" <jthoughton@google.com>
Cc: linux-perf-users@vger.kernel.org
Subject: Re: [RFC PATCH 06/10] uaccess: Refuse and warn on user copies when current->mm is NULL
Date: Mon, 26 Oct 2026 22:08:12 +0000 [thread overview]
Message-ID: <sashiko-outbox-185782@kernel.org> (raw)
In-Reply-To: <20261026215226.3713941-7-jthoughton@google.com>
> Accessing user memory from a task that has no mm is always a bug. This
> can happen from a kernel thread that is not using kthread_use_mm(), or
> from a task that has already gone through exit_mm() (e.g. when the last
> reference to a file is dropped from task_work at exit). KVM has had
> bugs of exactly this kind, and other drivers may have them too.
>
> Such an access does not reliably fail. The user portion of the address
> space belongs to whatever mm happens to be lazily loaded, if any. If
> the access faults, the fault handler refuses to handle it and the copy
> fails, but if the page is already mapped, the copy silently reads or
> writes another task's memory.
>
> Add uaccess_should_fail(), which combines the existing
> should_fail_usercopy() fault injection check with a
> WARN_ON_ONCE(!current->mm), and use it in place of every
> should_fail_usercopy() call. The user copy is then refused as if it had
> failed, so no access to user memory takes place.
>
> This covers copy_{to,from}_user() on all architectures, including the
> masked user access paths that never call access_ok(), and the
> __copy_{to,from}_user() variants used by KVM's guest memory accessors.
> It also covers __copy_to_user_inatomic() (and so copy_to_user_nofault()),
> the user-backed iov_iter copy routines and strncpy_from_user().
>
> Paths that never called should_fail_usercopy() are not covered, e.g.
> __copy_from_user_inatomic(), copy_from_user_nofault(), strnlen_user(),
> get_user()/put_user(), clear_user() and unsafe_*() accesses within
> user_access_begin() sections.
>
> 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=6
next prev parent reply other threads:[~2026-10-26 22:08 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
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 [this message]
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-185782@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.