summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarimAllah Ahmed <karahmed@amazon.de>2019-07-10 11:13:13 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-26 09:10:59 +0200
commit3ac6994561a29bff4bdf65833d6a88c0abab1691 (patch)
treeec5fc50e547c281c70599b964674900e42c44bf7
parent700ec4462661df192effa94b9546a6a0d63d0a2f (diff)
downloadlinux-stable-3ac6994561a29bff4bdf65833d6a88c0abab1691.tar.gz
linux-stable-3ac6994561a29bff4bdf65833d6a88c0abab1691.tar.bz2
linux-stable-3ac6994561a29bff4bdf65833d6a88c0abab1691.zip
KVM: Properly check if "page" is valid in kvm_vcpu_unmap
commit b614c6027896ff9ad6757122e84760d938cab15e upstream. The field "page" is initialized to KVM_UNMAPPED_PAGE when it is not used (i.e. when the memory lives outside kernel control). So this check will always end up using kunmap even for memremap regions. Fixes: e45adf665a53 ("KVM: Introduce a new guest mapping API") Cc: stable@vger.kernel.org Signed-off-by: KarimAllah Ahmed <karahmed@amazon.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--virt/kvm/kvm_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 2f2d24a4dd5c..e629766f0ec8 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -1790,7 +1790,7 @@ void kvm_vcpu_unmap(struct kvm_vcpu *vcpu, struct kvm_host_map *map,
if (!map->hva)
return;
- if (map->page)
+ if (map->page != KVM_UNMAPPED_PAGE)
kunmap(map->page);
#ifdef CONFIG_HAS_IOMEM
else