summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-16 22:26:37 -0400
committerPaul Gortmaker <paul.gortmaker@windriver.com>2017-06-16 22:26:37 -0400
commita43747a4f91cbb23a2de25c9915b64aad0cf2b40 (patch)
treeba0bdc7819f98e8a8ea4117ded5cd1b7c7cf780f
parent7619ca3e40babbf06b2293eea1aa37aa83315da8 (diff)
downloadlongterm-queue-4.8-a43747a4f91cbb23a2de25c9915b64aad0cf2b40.tar.gz
kvm: refresh context for return value
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r--queue/kvm-fix-page-struct-leak-in-handle_vmon.patch10
1 files changed, 6 insertions, 4 deletions
diff --git a/queue/kvm-fix-page-struct-leak-in-handle_vmon.patch b/queue/kvm-fix-page-struct-leak-in-handle_vmon.patch
index cb36ab9..49a7219 100644
--- a/queue/kvm-fix-page-struct-leak-in-handle_vmon.patch
+++ b/queue/kvm-fix-page-struct-leak-in-handle_vmon.patch
@@ -1,4 +1,4 @@
-From 06ce521af9558814b8606c0476c54497cf83a653 Mon Sep 17 00:00:00 2001
+From 263a374ba609d053610a44f50974aea09d7a2f50 Mon Sep 17 00:00:00 2001
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Tue, 24 Jan 2017 11:56:21 +0100
Subject: [PATCH] kvm: fix page struct leak in handle_vmon
@@ -12,12 +12,13 @@ Found by syzkaller; based on a patch by Dmitry.
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
-index 9856b73a21ad..d13073c841ff 100644
+index fbc958ae7007..6040fe69dabe 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
-@@ -6996,13 +6996,18 @@ static int nested_vmx_check_vmptr(struct kvm_vcpu *vcpu, int exit_reason,
+@@ -6884,14 +6884,19 @@ static int nested_vmx_check_vmptr(struct kvm_vcpu *vcpu, int exit_reason,
}
page = nested_get_page(vcpu, vmptr);
@@ -31,7 +32,8 @@ index 9856b73a21ad..d13073c841ff 100644
kunmap(page);
+ nested_release_page_clean(page);
+ nested_vmx_failInvalid(vcpu);
- return kvm_skip_emulated_instruction(vcpu);
+ skip_emulated_instruction(vcpu);
+ return 1;
}
kunmap(page);
+ nested_release_page_clean(page);