From: Mike Rapoport <rppt@kernel.org>
To: Umang Pokhriyal <umangpokhriyall@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Peter Xu <peterx@redhat.com>,
David Hildenbrand <david@kernel.org>,
Lorenzo Stoakes <ljs@kernel.org>,
"Liam R . Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
stable@vger.kernel.org
Subject: Re: [PATCH v2] userfaultfd: validate the whole range before changing write protection
Date: Wed, 4 Nov 2026 16:59:20 +0200 [thread overview]
Message-ID: <autISNbq0kLikxlF@kernel.org> (raw)
In-Reply-To: <20261104093457.152245-1-umangpokhriyall@gmail.com>
On Wed, Nov 04, 2026 at 03:04:57PM +0530, Umang Pokhriyal wrote:
> mwriteprotect_range() checks each VMA as it walks the range. When a later
> VMA is not registered for write protection, or is a hugetlb VMA the range
> is not aligned to, the call fails after the earlier VMAs were already
> changed. When unprotecting, userfaultfd_writeprotect() then skips
> wake_userfault(), so threads blocked on those pages are not woken although
> the pages are writable again.
>
> An unprivileged process can trigger this with a range that spans an
> unregistered VMA. It hasn't been seen in practice; it was found while
> reviewing the userfaultfd range ioctls with an LLM.
>
> Validate the whole range first, as mrwprotect_range() already does.
>
> Fixes: a1b92a3f1498 ("mm/userfaultfd: support WP on multiple VMAs")
> Cc: stable@vger.kernel.org
> Signed-off-by: Umang Pokhriyal <umangpokhriyall@gmail.com>
Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
> v2:
> - drop the redundant error assignments in the validation loop (Mike)
> - drop the selftest (Mike)
>
> v1: https://lore.kernel.org/all/20261102103621.156928-1-umangpokhriyall@gmail.com/
>
> mm/userfaultfd.c | 21 +++++++++++++--------
> 1 file changed, 13 insertions(+), 8 deletions(-)
--
Sincerely yours,
Mike.
prev parent reply other threads:[~2026-11-04 14:59 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 9:34 [PATCH v2] userfaultfd: validate the whole range before changing write protection Umang Pokhriyal
2026-11-04 14:59 ` Mike Rapoport [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=autISNbq0kLikxlF@kernel.org \
--to=rppt@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=david@kernel.org \
--cc=liam@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@suse.com \
--cc=peterx@redhat.com \
--cc=stable@vger.kernel.org \
--cc=surenb@google.com \
--cc=umangpokhriyall@gmail.com \
--cc=vbabka@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.