]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: X86: Fix fpu state crash in kvm guest
authorWanpeng Li <wanpengli@tencent.com>
Mon, 22 Jul 2019 04:26:20 +0000 (12:26 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 22 Jul 2019 11:55:47 +0000 (13:55 +0200)
commit3c5d27797f2583f2f9c8af10588f02b13b300b10
treedcb8475c68ea9480fa76872b6c0ad07bd854b621
parent48f897a76d6dd4fc79b8e6cdd58ec752d8f9050d
KVM: X86: Fix fpu state crash in kvm guest

The idea before commit a76d1ad76 (which has just been reverted)
was that we have the following FPU states:

               userspace (QEMU)             guest
---------------------------------------------------------------------------
               processor                    vcpu->arch.guest_fpu
>>> KVM_RUN: kvm_load_guest_fpu
               vcpu->arch.user_fpu          processor
>>> preempt out
               vcpu->arch.user_fpu          current->thread.fpu
>>> preempt in
               vcpu->arch.user_fpu          processor
>>> back to userspace
>>> kvm_put_guest_fpu
               processor                    vcpu->arch.guest_fpu
---------------------------------------------------------------------------

With the new lazy model we want to get the state back to the processor
when schedule in from current->thread.fpu.

Reported-by: Thomas Lambertz <mail@thomaslambertz.de>
Reported-by: anthony <antdev66@gmail.com>
Tested-by: anthony <antdev66@gmail.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Thomas Lambertz <mail@thomaslambertz.de>
Cc: anthony <antdev66@gmail.com>
Cc: stable@vger.kernel.org
Fixes: 24ce6b4ea (x86/fpu: Defer FPU state load until return to userspace)
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
[Add a comment in front of the warning. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c