aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/kvm
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2007-11-27 15:33:10 +0200
committerAvi Kivity <avi@qumranet.com>2007-11-27 15:33:10 +0200
commit8d379a7c069179a98616c9cac6bb2a06a500de49 (patch)
tree40d9b3b5fc83b773d218abf849269f2736c78f5f /drivers/kvm
parentKVM: x86 emulator: Use emulator_write_emulated and not emulator_write_std (diff)
downloadlinux-dev-8d379a7c069179a98616c9cac6bb2a06a500de49.tar.xz
linux-dev-8d379a7c069179a98616c9cac6bb2a06a500de49.zip
KVM: SVM: Unload guest fpu on vcpu_put()
Not unloading the guest fpu can cause fpu leaks from guest to guest (or host to guest). Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm')
-rw-r--r--drivers/kvm/svm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c
index 7a6eead63a6b..4e04e49a2f1c 100644
--- a/drivers/kvm/svm.c
+++ b/drivers/kvm/svm.c
@@ -663,6 +663,7 @@ static void svm_vcpu_put(struct kvm_vcpu *vcpu)
wrmsrl(host_save_user_msrs[i], svm->host_user_msrs[i]);
rdtscll(vcpu->host_tsc);
+ kvm_put_guest_fpu(vcpu);
}
static void svm_vcpu_decache(struct kvm_vcpu *vcpu)