Skip to content

Commit 0c80a95

Browse files
committed
chore: update patch series to v17
Update the mmap support patch series to v17, and update the direct map removal series to apply on top of v17. Rebase all the other series. Signed-off-by: Patrick Roy <[email protected]>
1 parent 3b66074 commit 0c80a95

File tree

70 files changed

+2782
-2626
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+2782
-2626
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
347e9f5043c89695b01e66b3ed111755afcf1911
1+
beafd7ecf2255e8b62a42dc04f54843033db3d24
Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
1-
From 000264f8823f76fb6cf91dc40ace84a29a0fa089 Mon Sep 17 00:00:00 2001
1+
From 83ed02c1c583b5b831e7827453845fe4fd7b4c80 Mon Sep 17 00:00:00 2001
22
From: Fuad Tabba <[email protected]>
3-
Date: Tue, 15 Jul 2025 10:33:30 +0100
4-
Subject: [PATCH 01/46] KVM: Rename CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM
3+
Date: Tue, 29 Jul 2025 15:54:32 -0700
4+
Subject: [PATCH 01/49] KVM: Rename CONFIG_KVM_PRIVATE_MEM to
5+
CONFIG_KVM_GUEST_MEMFD
56

6-
Rename the Kconfig option CONFIG_KVM_PRIVATE_MEM to CONFIG_KVM_GMEM. The
7-
original name implied that the feature only supported "private" memory.
8-
However, CONFIG_KVM_PRIVATE_MEM enables guest_memfd in general, which is
9-
not exclusively for private memory. Subsequent patches in this series
10-
will add guest_memfd support for non-CoCo VMs, whose memory is not
11-
private.
7+
Rename the Kconfig option CONFIG_KVM_PRIVATE_MEM to
8+
CONFIG_KVM_GUEST_MEMFD. The original name implied that the feature only
9+
supported "private" memory. However, CONFIG_KVM_PRIVATE_MEM enables
10+
guest_memfd in general, which is not exclusively for private memory.
11+
Subsequent patches in this series will add guest_memfd support for
12+
non-CoCo VMs, whose memory is not private.
1213

13-
Renaming the Kconfig option to CONFIG_KVM_GMEM more accurately reflects
14-
its broader scope as the main Kconfig option for all guest_memfd-backed
15-
memory. This provides clearer semantics for the option and avoids
16-
confusion as new features are introduced.
14+
Renaming the Kconfig option to CONFIG_KVM_GUEST_MEMFD more accurately
15+
reflects its broader scope as the main Kconfig option for all
16+
guest_memfd-backed memory. This provides clearer semantics for the
17+
option and avoids confusion as new features are introduced.
1718

1819
Reviewed-by: Ira Weiny <[email protected]>
1920
Reviewed-by: Gavin Shan <[email protected]>
2021
Reviewed-by: Shivank Garg <[email protected]>
2122
Reviewed-by: Vlastimil Babka <[email protected]>
23+
Reviewed-by: Xiaoyao Li <[email protected]>
2224
Co-developed-by: David Hildenbrand <[email protected]>
2325
Signed-off-by: David Hildenbrand <[email protected]>
2426
Signed-off-by: Fuad Tabba <[email protected]>
27+
Signed-off-by: Sean Christopherson <[email protected]>
2528
---
2629
arch/x86/include/asm/kvm_host.h | 2 +-
2730
include/linux/kvm_host.h | 14 +++++++-------
@@ -32,32 +35,32 @@ Signed-off-by: Fuad Tabba <[email protected]>
3235
6 files changed, 17 insertions(+), 17 deletions(-)
3336

3437
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
35-
index f7af967aa16f..acb25f935d84 100644
38+
index f19a76d3ca0e..7b0f2b3e492d 100644
3639
--- a/arch/x86/include/asm/kvm_host.h
3740
+++ b/arch/x86/include/asm/kvm_host.h
38-
@@ -2275,7 +2275,7 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level,
41+
@@ -2276,7 +2276,7 @@ void kvm_configure_mmu(bool enable_tdp, int tdp_forced_root_level,
3942
int tdp_max_root_level, int tdp_huge_page_level);
4043

4144

4245
-#ifdef CONFIG_KVM_PRIVATE_MEM
43-
+#ifdef CONFIG_KVM_GMEM
46+
+#ifdef CONFIG_KVM_GUEST_MEMFD
4447
#define kvm_arch_has_private_mem(kvm) ((kvm)->arch.has_private_mem)
4548
#else
4649
#define kvm_arch_has_private_mem(kvm) false
4750
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
48-
index 3bde4fb5c6aa..755b09dcafce 100644
51+
index 15656b7fba6c..8cdc0b3cc1b1 100644
4952
--- a/include/linux/kvm_host.h
5053
+++ b/include/linux/kvm_host.h
51-
@@ -601,7 +601,7 @@ struct kvm_memory_slot {
54+
@@ -602,7 +602,7 @@ struct kvm_memory_slot {
5255
short id;
5356
u16 as_id;
5457

5558
-#ifdef CONFIG_KVM_PRIVATE_MEM
56-
+#ifdef CONFIG_KVM_GMEM
59+
+#ifdef CONFIG_KVM_GUEST_MEMFD
5760
struct {
5861
/*
5962
* Writes protected by kvm->slots_lock. Acquiring a
60-
@@ -719,10 +719,10 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu)
63+
@@ -720,10 +720,10 @@ static inline int kvm_arch_vcpu_memslots_id(struct kvm_vcpu *vcpu)
6164
#endif
6265

6366
/*
@@ -67,107 +70,107 @@ index 3bde4fb5c6aa..755b09dcafce 100644
6770
+ * enabled.
6871
*/
6972
-#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_PRIVATE_MEM)
70-
+#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GMEM)
73+
+#if !defined(kvm_arch_has_private_mem) && !IS_ENABLED(CONFIG_KVM_GUEST_MEMFD)
7174
static inline bool kvm_arch_has_private_mem(struct kvm *kvm)
7275
{
7376
return false;
74-
@@ -2527,7 +2527,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
77+
@@ -2505,7 +2505,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
7578

7679
static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
7780
{
7881
- return IS_ENABLED(CONFIG_KVM_PRIVATE_MEM) &&
79-
+ return IS_ENABLED(CONFIG_KVM_GMEM) &&
82+
+ return IS_ENABLED(CONFIG_KVM_GUEST_MEMFD) &&
8083
kvm_get_memory_attributes(kvm, gfn) & KVM_MEMORY_ATTRIBUTE_PRIVATE;
8184
}
8285
#else
83-
@@ -2537,7 +2537,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
86+
@@ -2515,7 +2515,7 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
8487
}
8588
#endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */
8689

8790
-#ifdef CONFIG_KVM_PRIVATE_MEM
88-
+#ifdef CONFIG_KVM_GMEM
91+
+#ifdef CONFIG_KVM_GUEST_MEMFD
8992
int kvm_gmem_get_pfn(struct kvm *kvm, struct kvm_memory_slot *slot,
9093
gfn_t gfn, kvm_pfn_t *pfn, struct page **page,
9194
int *max_order);
92-
@@ -2550,7 +2550,7 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm,
95+
@@ -2528,7 +2528,7 @@ static inline int kvm_gmem_get_pfn(struct kvm *kvm,
9396
KVM_BUG_ON(1, kvm);
9497
return -EIO;
9598
}
9699
-#endif /* CONFIG_KVM_PRIVATE_MEM */
97-
+#endif /* CONFIG_KVM_GMEM */
100+
+#endif /* CONFIG_KVM_GUEST_MEMFD */
98101

99102
#ifdef CONFIG_HAVE_KVM_ARCH_GMEM_PREPARE
100103
int kvm_arch_gmem_prepare(struct kvm *kvm, gfn_t gfn, kvm_pfn_t pfn, int max_order);
101104
diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
102-
index 727b542074e7..49df4e32bff7 100644
105+
index 727b542074e7..e4b400feff94 100644
103106
--- a/virt/kvm/Kconfig
104107
+++ b/virt/kvm/Kconfig
105108
@@ -112,19 +112,19 @@ config KVM_GENERIC_MEMORY_ATTRIBUTES
106109
depends on KVM_GENERIC_MMU_NOTIFIER
107110
bool
108111

109112
-config KVM_PRIVATE_MEM
110-
+config KVM_GMEM
113+
+config KVM_GUEST_MEMFD
111114
select XARRAY_MULTI
112115
bool
113116

114117
config KVM_GENERIC_PRIVATE_MEM
115118
select KVM_GENERIC_MEMORY_ATTRIBUTES
116119
- select KVM_PRIVATE_MEM
117-
+ select KVM_GMEM
120+
+ select KVM_GUEST_MEMFD
118121
bool
119122

120123
config HAVE_KVM_ARCH_GMEM_PREPARE
121124
bool
122125
- depends on KVM_PRIVATE_MEM
123-
+ depends on KVM_GMEM
126+
+ depends on KVM_GUEST_MEMFD
124127

125128
config HAVE_KVM_ARCH_GMEM_INVALIDATE
126129
bool
127130
- depends on KVM_PRIVATE_MEM
128-
+ depends on KVM_GMEM
131+
+ depends on KVM_GUEST_MEMFD
129132
diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm
130-
index 724c89af78af..8d00918d4c8b 100644
133+
index 724c89af78af..d047d4cf58c9 100644
131134
--- a/virt/kvm/Makefile.kvm
132135
+++ b/virt/kvm/Makefile.kvm
133136
@@ -12,4 +12,4 @@ kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o
134137
kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
135138
kvm-$(CONFIG_HAVE_KVM_DIRTY_RING) += $(KVM)/dirty_ring.o
136139
kvm-$(CONFIG_HAVE_KVM_PFNCACHE) += $(KVM)/pfncache.o
137140
-kvm-$(CONFIG_KVM_PRIVATE_MEM) += $(KVM)/guest_memfd.o
138-
+kvm-$(CONFIG_KVM_GMEM) += $(KVM)/guest_memfd.o
141+
+kvm-$(CONFIG_KVM_GUEST_MEMFD) += $(KVM)/guest_memfd.o
139142
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
140-
index 222f0e894a0c..d5f0ec2d321f 100644
143+
index 6c07dd423458..25a94eed75fd 100644
141144
--- a/virt/kvm/kvm_main.c
142145
+++ b/virt/kvm/kvm_main.c
143-
@@ -4913,7 +4913,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg)
146+
@@ -4915,7 +4915,7 @@ static int kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg)
144147
case KVM_CAP_MEMORY_ATTRIBUTES:
145148
return kvm_supported_mem_attributes(kvm);
146149
#endif
147150
-#ifdef CONFIG_KVM_PRIVATE_MEM
148-
+#ifdef CONFIG_KVM_GMEM
151+
+#ifdef CONFIG_KVM_GUEST_MEMFD
149152
case KVM_CAP_GUEST_MEMFD:
150153
return !kvm || kvm_arch_has_private_mem(kvm);
151154
#endif
152-
@@ -5347,7 +5347,7 @@ static long kvm_vm_ioctl(struct file *filp,
155+
@@ -5352,7 +5352,7 @@ static long kvm_vm_ioctl(struct file *filp,
153156
case KVM_GET_STATS_FD:
154157
r = kvm_vm_ioctl_get_stats_fd(kvm);
155158
break;
156159
-#ifdef CONFIG_KVM_PRIVATE_MEM
157-
+#ifdef CONFIG_KVM_GMEM
160+
+#ifdef CONFIG_KVM_GUEST_MEMFD
158161
case KVM_CREATE_GUEST_MEMFD: {
159162
struct kvm_create_guest_memfd guest_memfd;
160163

161164
diff --git a/virt/kvm/kvm_mm.h b/virt/kvm/kvm_mm.h
162-
index acef3f5c582a..ec311c0d6718 100644
165+
index acef3f5c582a..31defb08ccba 100644
163166
--- a/virt/kvm/kvm_mm.h
164167
+++ b/virt/kvm/kvm_mm.h
165168
@@ -67,7 +67,7 @@ static inline void gfn_to_pfn_cache_invalidate_start(struct kvm *kvm,
166169
}
167170
#endif /* HAVE_KVM_PFNCACHE */
168171

169172
-#ifdef CONFIG_KVM_PRIVATE_MEM
170-
+#ifdef CONFIG_KVM_GMEM
173+
+#ifdef CONFIG_KVM_GUEST_MEMFD
171174
void kvm_gmem_init(struct module *module);
172175
int kvm_gmem_create(struct kvm *kvm, struct kvm_create_guest_memfd *args);
173176
int kvm_gmem_bind(struct kvm *kvm, struct kvm_memory_slot *slot,
@@ -176,7 +179,7 @@ index acef3f5c582a..ec311c0d6718 100644
176179
WARN_ON_ONCE(1);
177180
}
178181
-#endif /* CONFIG_KVM_PRIVATE_MEM */
179-
+#endif /* CONFIG_KVM_GMEM */
182+
+#endif /* CONFIG_KVM_GUEST_MEMFD */
180183

181184
#endif /* __KVM_MM_H__ */
182185
--

resources/hiding_ci/linux_patches/05-mmap-support/0002-KVM-Rename-CONFIG_KVM_GENERIC_PRIVATE_MEM-to-CONFIG_.patch

Lines changed: 0 additions & 103 deletions
This file was deleted.

0 commit comments

Comments
 (0)