aboutsummaryrefslogtreecommitdiffstats
path: root/virt
diff options
authorPaolo Bonzini <pbonzini@redhat.com>2026-06-12 10:13:03 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2026-06-12 10:13:03 +0200
commitb39c6bd6fd4dc05ce0608b5059f840eeec994e94 (patch)
tree4db0f78d5434cd6f7e143d04c13c543eab125b0f /virt
parentb02a4f8c4284e2cbbf539a95b27647687adae816 (diff)
parent97cd21d57e9bd2da79845178d9250cfd19289cd4 (diff)
downloadath-b39c6bd6fd4dc05ce0608b5059f840eeec994e94.tar.gz
Merge tag 'kvm-x86-sev-7.2' of https://github.com/kvm-x86/linux into HEAD
KVM SEV changes for 7.2 - Don't advertise support for unusuable VM types, and account for VM types that are disabled by firmware, e.g. to mitigate security vulnerabilities. - Rewrite the SEV {en,de}crypt debug ioctls as they were riddle with bugs and unnecessarily complicated, and add comprehensive tests. - Clean up and deduplicate the SEV page pinning code. - Fix minor goofs related to writing back CPUID information after firmware rejects a CPUID page for an SNP vCPU.
Diffstat (limited to 'virt')
-rw-r--r--virt/kvm/guest_memfd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
index e9cdda170a494..86690683b2fe3 100644
--- a/virt/kvm/guest_memfd.c
+++ b/virt/kvm/guest_memfd.c
@@ -860,7 +860,8 @@ out_unlock:
return ret;
}
-long kvm_gmem_populate(struct kvm *kvm, gfn_t start_gfn, void __user *src, long npages,
+long kvm_gmem_populate(struct kvm *kvm, gfn_t start_gfn, void __user *src,
+ long npages, bool may_writeback_src,
kvm_gmem_populate_cb post_populate, void *opaque)
{
struct kvm_memory_slot *slot;
@@ -894,8 +895,9 @@ long kvm_gmem_populate(struct kvm *kvm, gfn_t start_gfn, void __user *src, long
if (src) {
unsigned long uaddr = (unsigned long)src + i * PAGE_SIZE;
+ unsigned int flags = may_writeback_src ? FOLL_WRITE : 0;
- ret = get_user_pages_fast(uaddr, 1, 0, &src_page);
+ ret = get_user_pages_fast(uaddr, 1, flags, &src_page);
if (ret < 0)
break;
if (ret != 1) {