diff options
| author | Yan Zhao <yan.y.zhao@intel.com> | 2026-01-08 15:46:17 -0600 |
|---|---|---|
| committer | Sean Christopherson <seanjc@google.com> | 2026-01-13 11:24:21 -0800 |
| commit | 60b590de8b30dad8b11e9e4fba0df2eae81afb98 (patch) | |
| tree | da1d83ee7adcd7e47b744c61eecc12161f1047b9 | |
| parent | 9ace4753a5202b02191d54e9fdf7f9e3d02b85eb (diff) | |
KVM: SVM: Fix a missing kunmap_local() in sev_gmem_post_populate()
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>
| -rw-r--r-- | arch/x86/kvm/svm/sev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c index f59c65abe3cf..261d9ef8631b 100644 --- a/arch/x86/kvm/svm/sev.c +++ b/arch/x86/kvm/svm/sev.c @@ -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; } |
