Re: [PATCH v1 5/7] mm: introduce page_offline_(begin|end|freeze|unfreeze) to synchronize setting PageOffline()

From: David Hildenbrand
Date: Mon May 03 2021 - 04:11:41 EST


On 02.05.21 08:33, Mike Rapoport wrote:
On Thu, Apr 29, 2021 at 02:25:17PM +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|unfreeze) for

Bikeshed: freeze|thaw?


Sure :)


--
Thanks,

David / dhildenb