]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
KVM: SVM: Fix a missing kunmap_local() in sev_gmem_post_populate()
authorYan Zhao <yan.y.zhao@intel.com>
Thu, 8 Jan 2026 21:46:17 +0000 (15:46 -0600)
committerSean Christopherson <seanjc@google.com>
Tue, 13 Jan 2026 19:24:21 +0000 (11:24 -0800)
sev_gmem_post_populate() needs to unmap the target vaddr after
copy_from_user() to the vaddr fails.

Fixes: dee5a47cc7a4 ("KVM: SEV: Add KVM_SEV_SNP_LAUNCH_UPDATE command")
Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Link: https://patch.msgid.link/20260108214622.1084057-2-michael.roth@amd.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/svm/sev.c

index f59c65abe3cfade5f774e910247222eec7ce3722..261d9ef8631b203c573e5bfef5116ea4dab3c7cb 100644 (file)
@@ -2296,6 +2296,7 @@ static int sev_gmem_post_populate(struct kvm *kvm, gfn_t gfn_start, kvm_pfn_t pf
                        void *vaddr = kmap_local_pfn(pfn + i);
 
                        if (copy_from_user(vaddr, src + i * PAGE_SIZE, PAGE_SIZE)) {
+                               kunmap_local(vaddr);
                                ret = -EFAULT;
                                goto err;
                        }