On 5/27/2025 11:32 PM, Fuad Tabba wrote: > The option KVM_PRIVATE_MEM enables guest_memfd in general. Subsequent > patches add shared memory support to guest_memfd. Therefore, rename it > to KVM_GMEM to make its purpose clearer. > > Reviewed-by: Gavin Shan <gshan@xxxxxxxxxx> > Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx> > Co-developed-by: David Hildenbrand <david@xxxxxxxxxx> > Signed-off-by: David Hildenbrand <david@xxxxxxxxxx> > Signed-off-by: Fuad Tabba <tabba@xxxxxxxxxx> > --- > arch/x86/include/asm/kvm_host.h | 2 +- > include/linux/kvm_host.h | 10 +++++----- > virt/kvm/Kconfig | 8 ++++---- > virt/kvm/Makefile.kvm | 2 +- > virt/kvm/kvm_main.c | 4 ++-- > virt/kvm/kvm_mm.h | 4 ++-- > 6 files changed, 15 insertions(+), 15 deletions(-) > > diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h > index 7bc174a1f1cb..52f6f6d08558 100644 > --- a/arch/x86/include/asm/kvm_host.h > +++ b/arch/x86/include/asm/kvm_host.h > @@ -2253,7 +2253,7 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level, > int tdp_max_root_level, int tdp_huge_page_level); > > > -#ifdef CONFIG_KVM_PRIVATE_MEM > +#ifdef CONFIG_KVM_GMEM > #define kvm_arch_has_private_mem(kvm) ((kvm)->arch.has_private_mem) > #else > #define kvm_arch_has_private_mem(kvm) false > diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h > index 291d49b9bf05..d6900995725d 100644 > --- a/include/linux/kvm_host.h > +++ b/include/linux/kvm_host.h > @@ -601,7 +601,7 @@ struct kvm_memory_slot { > short id; > u16 as_id; > > -#ifdef CONFIG_KVM_PRIVATE_MEM > +#ifdef CONFIG_KVM_GMEM > struct { > /* > * Writes protected by kvm->slots_lock. Acquiring a > @@ -722,7 +722,7 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu) > * Arch code must define kvm_arch_has_private_mem if support for private memory > * is enabled. > */ > -#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) > +#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GMEM) > static inline bool kvm_arch_has_private_mem(struct kvm *kvm) > { > return false; > @@ -2504,7 +2504,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm, > > static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > { > - return IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) && > + return IS_ENABLED(CONFIG_KVM_GMEM) && > kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE; > } > #else > @@ -2514,7 +2514,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) > } > #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */ > > -#ifdef CONFIG_KVM_PRIVATE_MEM > +#ifdef CONFIG_KVM_GMEM > int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot, > gfn_t gfn, kvm_pfn_t *pfn, struct page **page, > int *max_order); > @@ -2527,7 +2527,7 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm, > KVM_BUG_ON(1, kvm); > return -EIO; > } > -#endif /* CONFIG_KVM_PRIVATE_MEM */ > +#endif /* CONFIG_KVM_GMEM */ > > #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_PREPARE > int kvm_arch_gmem_prepare(struct kvm *kvm, gfn_t gfn, kvm_pfn_t pfn, int max_order); > diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig > index 727b542074e7..49df4e32bff7 100644 > --- a/virt/kvm/Kconfig > +++ b/virt/kvm/Kconfig > @@ -112,19 +112,19 @@ config KVM_GENERIC_MEMORY_ATTRIBUTES > depends on KVM_GENERIC_MMU_NOTIFIER > bool > > -config KVM_PRIVATE_MEM > +config KVM_GMEM > select XARRAY_MULTI > bool > > config KVM_GENERIC_PRIVATE_MEM > select KVM_GENERIC_MEMORY_ATTRIBUTES > - select KVM_PRIVATE_MEM > + select KVM_GMEM > bool > > config HAVE_KVM_ARCH_GMEM_PREPARE > bool > - depends on KVM_PRIVATE_MEM > + depends on KVM_GMEM > > config HAVE_KVM_ARCH_GMEM_INVALIDATE > bool > - depends on KVM_PRIVATE_MEM > + depends on KVM_GMEM > diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm > index 724c89af78af..8d00918d4c8b 100644 > --- a/virt/kvm/Makefile.kvm > +++ b/virt/kvm/Makefile.kvm > @@ -12,4 +12,4 @@ kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o > kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o > kvm-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o > kvm-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o > -kvm-$(CONFIG_KVM_PRIVATE_MEM) += $(KVM)/guest_memfd.o > +kvm-$(CONFIG_KVM_GMEM) += $(KVM)/guest_memfd.o > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index e85b33a92624..4996cac41a8f 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -4842,7 +4842,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg) > case KVM_CAP_MEMORY_ATTRIBUTES: > return kvm_supported_mem_attributes(kvm); > #endif > -#ifdef CONFIG_KVM_PRIVATE_MEM > +#ifdef CONFIG_KVM_GMEM > case KVM_CAP_GUEST_MEMFD: > return !kvm || kvm_arch_has_private_mem(kvm); > #endif > @@ -5276,7 +5276,7 @@ static long kvm_vm_ioctl(struct file *filp, > case KVM_GET_STATS_FD: > r = kvm_vm_ioctl_get_stats_fd(kvm); > break; > -#ifdef CONFIG_KVM_PRIVATE_MEM > +#ifdef CONFIG_KVM_GMEM > case KVM_CREATE_GUEST_MEMFD: { > struct kvm_create_guest_memfd guest_memfd; > > diff --git a/virt/kvm/kvm_mm.h b/virt/kvm/kvm_mm.h > index acef3f5c582a..ec311c0d6718 100644 > --- a/virt/kvm/kvm_mm.h > +++ b/virt/kvm/kvm_mm.h > @@ -67,7 +67,7 @@ static inline void gfn_to_pfn_cache_invalidate_start(struct kvm *kvm, > } > #endif /* HAVE_KVM_PFNCACHE */ > > -#ifdef CONFIG_KVM_PRIVATE_MEM > +#ifdef CONFIG_KVM_GMEM > void kvm_gmem_init(struct module *module); > int kvm_gmem_create(struct kvm *kvm, struct kvm_create_guest_memfd *args); > int kvm_gmem_bind(struct kvm *kvm, struct kvm_memory_slot *slot, > @@ -91,6 +91,6 @@ static inline void kvm_gmem_unbind(struct kvm_memory_slot *slot) > { > WARN_ON_ONCE(1); > } > -#endif /* CONFIG_KVM_PRIVATE_MEM */ > +#endif /* CONFIG_KVM_GMEM */ > > #endif /* __KVM_MM_H__ */ Reviewed-by: Shivank Garg <shivankg@xxxxxxx>