From: Gregory Price <gourry@gourry.net>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: linux-kernel@vger.kernel.org,
"David Hildenbrand (Arm)" <david@kernel.org>,
"Jason Wang" <jasowang@redhat.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
"Muchun Song" <muchun.song@linux.dev>,
"Oscar Salvador" <osalvador@suse.de>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Liam R. Howlett" <liam@infradead.org>,
"Vlastimil Babka" <vbabka@kernel.org>,
"Mike Rapoport" <rppt@kernel.org>,
"Suren Baghdasaryan" <surenb@google.com>,
"Michal Hocko" <mhocko@suse.com>,
"Brendan Jackman" <jackmanb@google.com>,
"Johannes Weiner" <hannes@cmpxchg.org>, "Zi Yan" <ziy@nvidia.com>,
"Baolin Wang" <baolin.wang@linux.alibaba.com>,
"Nico Pache" <npache@redhat.com>,
"Ryan Roberts" <ryan.roberts@arm.com>,
"Dev Jain" <dev.jain@arm.com>, "Barry Song" <baohua@kernel.org>,
"Lance Yang" <lance.yang@linux.dev>,
"Hugh Dickins" <hughd@google.com>,
"Matthew Brost" <matthew.brost@intel.com>,
"Joshua Hahn" <joshua.hahnjy@gmail.com>,
"Rakie Kim" <rakie.kim@sk.com>,
"Byungchul Park" <byungchul@sk.com>,
"Ying Huang" <ying.huang@linux.alibaba.com>,
"Alistair Popple" <apopple@nvidia.com>,
"Christoph Lameter" <cl@gentwo.org>,
"David Rientjes" <rientjes@google.com>,
"Roman Gushchin" <roman.gushchin@linux.dev>,
"Harry Yoo" <harry.yoo@oracle.com>,
"Axel Rasmussen" <axelrasmussen@google.com>,
"Yuanchu Xie" <yuanchu@google.com>, "Wei Xu" <weixugc@google.com>,
"Chris Li" <chrisl@kernel.org>,
"Kairui Song" <kasong@tencent.com>,
"Kemeng Shi" <shikemeng@huaweicloud.com>,
"Nhat Pham" <nphamcs@gmail.com>, "Baoquan He" <bhe@redhat.com>,
virtualization@lists.linux.dev, linux-mm@kvack.org,
"Andrea Arcangeli" <aarcange@redhat.com>
Subject: Re: [PATCH v7 09/31] mm: use folio_zero_user for user pages in post_alloc_hook
Date: Thu, 14 May 2026 14:56:54 -0400 [thread overview]
Message-ID: <agYa9s5B7OWG-kjR@gourry-fedora-PF4VCD3F> (raw)
In-Reply-To: <20260514135214-mutt-send-email-mst@kernel.org>
On Thu, May 14, 2026 at 02:00:31PM -0400, Michael S. Tsirkin wrote:
> On Thu, May 14, 2026 at 09:49:33AM -0400, Gregory Price wrote:
>
> There are calls with no __GFP_ZERO but they do not allocate userspace pages.
>
> - drm_pagemap.c: GFP_HIGHUSER -- no zero. But this is a DRM device
> page migration, the page content is preserved from the source.
>
> - test_hmm.c: GFP_HIGHUSER_MOVABLE -- no zero. Test driver, pages get
> content from device.
>
> - mm/ksm.c: GFP_HIGHUSER_MOVABLE -- no zero. KSM merges identical
> pages, content comes from the source page (copy).
>
> - mm/memory.c new_folio = GFP_HIGHUSER_MOVABLE
> - no zero. This is CoW, content is copied from old page.
>
> - mm/userfaultfd.c: GFP_HIGHUSER_MOVABLE - no zero. Content comes from userspace via userfaultfd.
>
> - arm64/fault.c: __GFP_ZEROTAGS not __GFP_ZERO. MTE tag zeroing, not page zeroing. Page is zeroed separately.
>
Right, so in all of these cases, it would be just as correct to pass
USER_ADDR_NONE I imagine :]
i.e. the user address is irrelevant, and the caller is responsible for
sanitization before return if it's relevant.
Otherwise, passing (user_addr != -1) the buddy takes care of it for you.
Just an obvious security bonus to all of this, but by no means a
requirement for your set. Just an observation.
>
> I'd do this on top if possible.
>
Yeah reasonable.
~Gregory
next prev parent reply other threads:[~2026-05-14 18:56 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 21:04 [PATCH v7 00/31] mm/virtio: skip redundant zeroing of host-zeroed pages Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 01/31] mm: mempolicy: fix interleave index for unaligned VMA start Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 02/31] mm: page_alloc: propagate PageReported flag across buddy splits Michael S. Tsirkin
2026-05-14 11:51 ` Gregory Price
2026-05-14 14:48 ` Michael S. Tsirkin
2026-05-14 15:32 ` Gregory Price
2026-05-14 15:34 ` Michael S. Tsirkin
2026-05-14 15:41 ` Gregory Price
2026-05-14 15:47 ` Michael S. Tsirkin
2026-05-14 17:48 ` Gregory Price
2026-05-14 17:51 ` Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 03/31] mm: page_reporting: allow driver to set batch capacity Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 04/31] mm: hugetlb: remove dead alloc_hugetlb_folio stub Michael S. Tsirkin
2026-05-14 11:53 ` Gregory Price
2026-05-12 21:05 ` [PATCH v7 05/31] mm: move vma_alloc_folio_noprof to page_alloc.c Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 06/31] mm: thread user_addr through page allocator for cache-friendly zeroing Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 07/31] mm: add folio_zero_user stub for configs without THP/HUGETLBFS Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 08/31] mm: page_alloc: move prep_compound_page before post_alloc_hook Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 09/31] mm: use folio_zero_user for user pages in post_alloc_hook Michael S. Tsirkin
2026-05-14 13:49 ` Gregory Price
2026-05-14 18:00 ` Michael S. Tsirkin
2026-05-14 18:56 ` Gregory Price [this message]
2026-05-14 19:08 ` Michael S. Tsirkin
2026-05-15 15:39 ` Gregory Price
2026-05-15 15:45 ` Michael S. Tsirkin
2026-05-12 21:05 ` [PATCH v7 10/31] mm: use __GFP_ZERO in vma_alloc_zeroed_movable_folio Michael S. Tsirkin
2026-05-12 21:06 ` [PATCH v7 11/31] mm: remove arch vma_alloc_zeroed_movable_folio overrides Michael S. Tsirkin
2026-05-14 13:53 ` Gregory Price
2026-05-12 21:06 ` [PATCH v7 12/31] mm: alloc_anon_folio: pass raw fault address to vma_alloc_folio Michael S. Tsirkin
2026-05-12 21:06 ` [PATCH v7 13/31] mm: alloc_swap_folio: " Michael S. Tsirkin
2026-05-14 13:54 ` Gregory Price
2026-05-12 21:06 ` [PATCH v7 14/31] mm: use __GFP_ZERO in alloc_anon_folio Michael S. Tsirkin
2026-05-12 21:06 ` [PATCH v7 15/31] mm: vma_alloc_anon_folio_pmd: pass raw fault address to vma_alloc_folio Michael S. Tsirkin
2026-05-14 13:55 ` Gregory Price
2026-05-12 21:06 ` [PATCH v7 16/31] mm: use __GFP_ZERO in vma_alloc_anon_folio_pmd Michael S. Tsirkin
2026-05-12 21:06 ` [PATCH v7 17/31] mm: hugetlb: add gfp parameter and skip zeroing for zeroed pages Michael S. Tsirkin
2026-05-12 22:03 ` Gregory Price
2026-05-12 23:08 ` Michael S. Tsirkin
2026-05-12 21:06 ` [PATCH v7 18/31] mm: memfd: skip zeroing for zeroed hugetlb pool pages Michael S. Tsirkin
2026-05-14 14:07 ` Gregory Price
2026-05-12 21:06 ` [PATCH v7 19/31] mm: page_reporting: skip redundant zeroing of host-zeroed reported pages Michael S. Tsirkin
2026-05-14 14:13 ` Gregory Price
2026-05-12 21:06 ` [PATCH v7 20/31] mm: page_reporting: add per-page zeroed bitmap for host feedback Michael S. Tsirkin
2026-05-12 21:06 ` [PATCH v7 21/31] mm: page_alloc: clear PG_zeroed on buddy merge if not both zero Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 22/31] mm: page_alloc: preserve PG_zeroed in page_del_and_expand Michael S. Tsirkin
2026-05-14 14:15 ` Gregory Price
2026-05-12 21:07 ` [PATCH v7 23/31] virtio_balloon: submit reported pages as individual buffers Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 24/31] mm: page_reporting: add flush parameter with page budget Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 25/31] mm: page_alloc: propagate PG_zeroed in split_large_buddy Michael S. Tsirkin
2026-05-14 14:18 ` Gregory Price
2026-05-12 21:07 ` [PATCH v7 26/31] virtio_balloon: skip zeroing for host-zeroed reported pages Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 27/31] virtio_balloon: disable reporting zeroed optimization for confidential guests Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 28/31] mm: add free_frozen_pages_zeroed Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 29/31] mm: add put_page_zeroed and folio_put_zeroed Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 30/31] virtio_balloon: implement VIRTIO_BALLOON_F_DEVICE_INIT_ON_INFLATE Michael S. Tsirkin
2026-05-12 21:07 ` [PATCH v7 31/31] mm: balloon: use put_page_zeroed for zeroed balloon pages Michael S. Tsirkin
2026-05-13 7:36 ` [PATCH v7 00/31] mm/virtio: skip redundant zeroing of host-zeroed pages David Hildenbrand (Arm)
2026-05-13 16:34 ` Gregory Price
2026-05-13 23:29 ` Michael S. Tsirkin
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=agYa9s5B7OWG-kjR@gourry-fedora-PF4VCD3F \
--to=gourry@gourry.net \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=apopple@nvidia.com \
--cc=axelrasmussen@google.com \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=bhe@redhat.com \
--cc=byungchul@sk.com \
--cc=chrisl@kernel.org \
--cc=cl@gentwo.org \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=eperezma@redhat.com \
--cc=hannes@cmpxchg.org \
--cc=harry.yoo@oracle.com \
--cc=hughd@google.com \
--cc=jackmanb@google.com \
--cc=jasowang@redhat.com \
--cc=joshua.hahnjy@gmail.com \
--cc=kasong@tencent.com \
--cc=lance.yang@linux.dev \
--cc=liam@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=matthew.brost@intel.com \
--cc=mhocko@suse.com \
--cc=mst@redhat.com \
--cc=muchun.song@linux.dev \
--cc=npache@redhat.com \
--cc=nphamcs@gmail.com \
--cc=osalvador@suse.de \
--cc=rakie.kim@sk.com \
--cc=rientjes@google.com \
--cc=roman.gushchin@linux.dev \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=shikemeng@huaweicloud.com \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
--cc=virtualization@lists.linux.dev \
--cc=weixugc@google.com \
--cc=xuanzhuo@linux.alibaba.com \
--cc=ying.huang@linux.alibaba.com \
--cc=yuanchu@google.com \
--cc=ziy@nvidia.com \
/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.