[PATCH v1 0/2] virito-mem: one fix and VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE

From: David Hildenbrand
Date: Mon Feb 15 2021 - 07:29:06 EST


One minor fix and introduction of / support for
VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE.

Looking into supporting file-based memory backends (shmem, hugetlbfs, ...)
for virtio-mem in QEMU cleanly, I realized that we have to indicate that
unplugged memory is completely inaccessible. Otherwise, Linux might in
corner cases read unplugged memory, which is harder to support (and harder
to protect from) in a hypervisor than with anonymous memory where we have
a shared zeropage.

To support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE cleanly, we cannot (un)plug
memory in SBM (Sub Block Mode) and instead, can only support adding/
removing individual Linux memory blocks (e.g., 128MB on x86-64).

While we might still be able to allow for reading unplugged memory with
file-based memory backends in the future (and I have plans/prototypes for
it), at least in the near future we cannot support it.

David Hildenbrand (2):
virtio-mem: don't read big block size in SBM
virtio-mem: support VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE

drivers/virtio/virtio_mem.c | 27 ++++++++++++++++++++-------
include/uapi/linux/virtio_mem.h | 10 +++++++---
2 files changed, 27 insertions(+), 10 deletions(-)

--
2.29.2