diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2026-06-12 10:13:03 +0200 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2026-06-12 10:13:03 +0200 |
| commit | b39c6bd6fd4dc05ce0608b5059f840eeec994e94 (patch) | |
| tree | 4db0f78d5434cd6f7e143d04c13c543eab125b0f /virt | |
| parent | b02a4f8c4284e2cbbf539a95b27647687adae816 (diff) | |
| parent | 97cd21d57e9bd2da79845178d9250cfd19289cd4 (diff) | |
| download | ath-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.c | 6 |
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) { |
