From: Oscar Salvador <osalvador@suse.de>
To: David Hildenbrand <david@redhat.com>
Cc: linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Jason Wang <jasowang@redhat.com>,
Alexey Dobriyan <adobriyan@gmail.com>,
Mike Rapoport <rppt@kernel.org>,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Michal Hocko <mhocko@suse.com>, Roman Gushchin <guro@fb.com>,
Alex Shi <alex.shi@linux.alibaba.com>,
Steven Price <steven.price@arm.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
Aili Yao <yaoaili@kingsoft.com>, Jiri Bohac <jbohac@suse.cz>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
Stephen Hemminger <sthemmin@microsoft.com>,
Wei Liu <wei.liu@kernel.org>,
Naoya Horiguchi <naoya.horiguchi@nec.com>,
linux-hyperv@vger.kernel.org,
virtualization@lists.linux-foundation.org,
linux-fsdevel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH v2 4/6] mm: introduce page_offline_(begin|end|freeze|thaw) to synchronize setting PageOffline()
Date: Tue, 25 May 2021 10:16:26 +0200 [thread overview]
Message-ID: <20210525081626.GB3300@linux> (raw)
In-Reply-To: <20210514172247.176750-5-david@redhat.com>
On Fri, May 14, 2021 at 07:22:45PM +0200, David Hildenbrand wrote:
> A driver might set a page logically offline -- PageOffline() -- and
> turn the page inaccessible in the hypervisor; after that, access to page
> content can be fatal. One example is virtio-mem; while unplugged memory
> -- marked as PageOffline() can currently be read in the hypervisor, this
> will no longer be the case in the future; for example, when having
> a virtio-mem device backed by huge pages in the hypervisor.
>
> Some special PFN walkers -- i.e., /proc/kcore -- read content of random
> pages after checking PageOffline(); however, these PFN walkers can race
> with drivers that set PageOffline().
>
> Let's introduce page_offline_(begin|end|freeze|thaw) for
> synchronizing.
>
> page_offline_freeze()/page_offline_thaw() allows for a subsystem to
> synchronize with such drivers, achieving that a page cannot be set
> PageOffline() while frozen.
>
> page_offline_begin()/page_offline_end() is used by drivers that care about
> such races when setting a page PageOffline().
>
> For simplicity, use a rwsem for now; neither drivers nor users are
> performance sensitive.
>
> Acked-by: Michal Hocko <mhocko@suse.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Oscar Salvador <osalvador@suse.de>
--
Oscar Salvador
SUSE L3
next prev parent reply other threads:[~2021-05-25 8:16 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-14 17:22 [PATCH v2 0/6] fs/proc/kcore: don't read offline sections, logically offline pages and hwpoisoned pages David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-14 17:22 ` [PATCH v2 1/6] fs/proc/kcore: drop KCORE_REMAP and KCORE_OTHER David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-14 17:22 ` [PATCH v2 2/6] fs/proc/kcore: pfn_is_ram check only applies to KCORE_RAM David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-14 17:22 ` [PATCH v2 3/6] fs/proc/kcore: don't read offline sections, logically offline pages and hwpoisoned pages David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-25 8:09 ` Oscar Salvador
2021-05-14 17:22 ` [PATCH v2 4/6] mm: introduce page_offline_(begin|end|freeze|thaw) to synchronize setting PageOffline() David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-17 6:43 ` Mike Rapoport
2021-05-17 15:18 ` David Hildenbrand
2021-05-17 15:18 ` David Hildenbrand
2021-05-25 8:16 ` Oscar Salvador [this message]
2021-05-14 17:22 ` [PATCH v2 5/6] virtio-mem: use page_offline_(start|end) when " David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-17 6:43 ` Mike Rapoport
2021-05-25 8:20 ` Oscar Salvador
2021-05-14 17:22 ` [PATCH v2 6/6] fs/proc/kcore: use page_offline_(freeze|thaw) David Hildenbrand
2021-05-14 17:22 ` David Hildenbrand
2021-05-17 6:44 ` Mike Rapoport
2021-05-25 8:21 ` Oscar Salvador
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=20210525081626.GB3300@linux \
--to=osalvador@suse.de \
--cc=adobriyan@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alex.shi@linux.alibaba.com \
--cc=david@redhat.com \
--cc=guro@fb.com \
--cc=haiyangz@microsoft.com \
--cc=jasowang@redhat.com \
--cc=jbohac@suse.cz \
--cc=kys@microsoft.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=mike.kravetz@oracle.com \
--cc=mst@redhat.com \
--cc=naoya.horiguchi@nec.com \
--cc=rppt@kernel.org \
--cc=steven.price@arm.com \
--cc=sthemmin@microsoft.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=wei.liu@kernel.org \
--cc=willy@infradead.org \
--cc=yaoaili@kingsoft.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.