projects
/
GitHub
/
moto-9609
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7043338
)
KVM: SVM: Defer nmi processing until switch to host state is complete
author
Avi Kivity
<avi@qumranet.com>
Wed, 7 Nov 2007 15:14:18 +0000
(17:14 +0200)
committer
Avi Kivity
<avi@qumranet.com>
Thu, 8 Nov 2007 10:05:43 +0000
(12:05 +0200)
If we stgi() too soon, nmis can reach the processor even though interrupts
are disabled, catching it in a half-switched state. Delay the stgi() until
we're done switching.
Signed-off-by: Avi Kivity <avi@qumranet.com>
drivers/kvm/svm.c
patch
|
blob
|
blame
|
history
diff --git
a/drivers/kvm/svm.c
b/drivers/kvm/svm.c
index 3910358db79defe9cff19fe95bd36b375f81de98..7376805c88ab09a7a128e172f46b99f1f721898d 100644
(file)
--- a/
drivers/kvm/svm.c
+++ b/
drivers/kvm/svm.c
@@
-1585,10
+1585,6
@@
static void svm_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
#endif
: "cc", "memory" );
- local_irq_disable();
-
- stgi();
-
if ((svm->vmcb->save.dr7 & 0xff))
load_db_regs(svm->host_db_regs);
@@
-1605,6
+1601,10
@@
static void svm_vcpu_run(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
reload_tss(vcpu);
+ local_irq_disable();
+
+ stgi();
+
svm->next_rip = 0;
}