[RFC PATCH 1/6] KVM: guest_memfd: Add config to show the capability to handle error page

From: isaku . yamahata
Date: Wed Sep 13 2023 - 06:49:30 EST


From: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>

Add config, HAVE_GENERIC_PRIVATE_MEM_HANDLE_ERROR, to indicate kvm arch
can handle gmem error page.

Signed-off-by: Isaku Yamahata <isaku.yamahata@xxxxxxxxx>
---
virt/kvm/Kconfig | 3 +++
virt/kvm/guest_mem.c | 3 +++
2 files changed, 6 insertions(+)

diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
index 1a48cb530092..624df45baff0 100644
--- a/virt/kvm/Kconfig
+++ b/virt/kvm/Kconfig
@@ -112,3 +112,6 @@ config KVM_GENERIC_PRIVATE_MEM
select KVM_GENERIC_MEMORY_ATTRIBUTES
select KVM_PRIVATE_MEM
bool
+
+config HAVE_GENERIC_PRIVATE_MEM_HANDLE_ERROR
+ bool
diff --git a/virt/kvm/guest_mem.c b/virt/kvm/guest_mem.c
index 85903c32163f..35d8f03e7937 100644
--- a/virt/kvm/guest_mem.c
+++ b/virt/kvm/guest_mem.c
@@ -307,6 +307,9 @@ static int kvm_gmem_error_page(struct address_space *mapping, struct page *page)
pgoff_t start, end;
gfn_t gfn;

+ if (!IS_ENABLED(CONFIG_HAVE_GENERIC_PRIVATE_MEM_HANDLE_ERROR))
+ return MF_IGNORED;
+
filemap_invalidate_lock_shared(mapping);

start = page->index;
--
2.25.1