Thread (154 messages) 154 messages, 12 authors, 2d ago

Re: [PATCH v8 11/46] KVM: Consolidate private memory and guest_memfd ifdeffery in kvm_host.h

From: Fuad Tabba <hidden>
Date: 2026-06-19 11:03:27
Also in: kvm, linux-coco, linux-doc, linux-kselftest, linux-mm, lkml

On Fri, 19 Jun 2026 at 01:31, Ackerley Tng via B4 Relay
[off-list ref] wrote:
From: Sean Christopherson <seanjc@google.com>

Move the kvm_arch_has_private_mem() stub and a few guest_memfd function
definitions/declarations "down" in kvm_host.h to utilize existing #ifdefs,
and so that related code is clustered together.

No functional change intended.

Signed-off-by: Sean Christopherson <seanjc@google.com>
SoB fix please. With that...

Reviewed-by: Fuad Tabba <redacted>

Cheers,
/fuad
quoted hunk ↗ jump to hunk
---
 include/linux/kvm_host.h | 37 ++++++++++++++++---------------------
 1 file changed, 16 insertions(+), 21 deletions(-)
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index acb552745b428..9c1cf1a6559e3 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -722,27 +722,6 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu)
 }
 #endif

-#ifndef kvm_arch_has_private_mem
-static inline bool kvm_arch_has_private_mem(struct kvm *kvm)
-{
-       return false;
-}
-#endif
-
-#ifdef CONFIG_KVM_GUEST_MEMFD
-bool kvm_arch_supports_gmem_init_shared(struct kvm *kvm);
-
-static inline u64 kvm_gmem_get_supported_flags(struct kvm *kvm)
-{
-       u64 flags = GUEST_MEMFD_FLAG_MMAP;
-
-       if (!kvm || kvm_arch_supports_gmem_init_shared(kvm))
-               flags |= GUEST_MEMFD_FLAG_INIT_SHARED;
-
-       return flags;
-}
-#endif
-
 #ifndef kvm_arch_has_readonly_mem
 static inline bool kvm_arch_has_readonly_mem(struct kvm *kvm)
 {
@@ -2572,6 +2551,11 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
 #else
 #define gmem_in_place_conversion false

+static inline bool kvm_arch_has_private_mem(struct kvm *kvm)
+{
+       return false;
+}
+
 static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
 {
        return false;
@@ -2580,6 +2564,17 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)

 #ifdef CONFIG_KVM_GUEST_MEMFD
 bool kvm_gmem_is_private(struct kvm *kvm, gfn_t gfn);
+bool kvm_arch_supports_gmem_init_shared(struct kvm *kvm);
+
+static inline u64 kvm_gmem_get_supported_flags(struct kvm *kvm)
+{
+       u64 flags = GUEST_MEMFD_FLAG_MMAP;
+
+       if (!kvm || kvm_arch_supports_gmem_init_shared(kvm))
+               flags |= GUEST_MEMFD_FLAG_INIT_SHARED;
+
+       return flags;
+}

 int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot,
                     gfn_t gfn, kvm_pfn_t *pfn, struct page **page,

--
2.55.0.rc0.738.g0c8ab3ebcc-goog
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help