As vmx_create_vcpu already makes use of start/end_special_insn, we need to initialise the emulated preempt_notifier earlier. Let's move it to kvm_vcpu_init. This should fix an oops I've seen here at least once during kvm startup - so far the problem did not show up again.
Signed-off-by: Jan Kiszka <[EMAIL PROTECTED]>
---
kernel/kvm_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: kvm-48/kernel/kvm_main.c
===================================================================
--- kvm-48.orig/kernel/kvm_main.c
+++ kvm-48/kernel/kvm_main.c
@@ -261,6 +261,8 @@ int kvm_vcpu_init(struct kvm_vcpu *vcpu,
vcpu->mp_state = VCPU_MP_STATE_UNINITIALIZED;
init_waitqueue_head(&vcpu->wq);
+ preempt_notifier_init(&vcpu->preempt_notifier, &kvm_preempt_ops);
+
page = alloc_page(GFP_KERNEL | __GFP_ZERO);
if (!page) {
r = -ENOMEM;
@@ -2664,8 +2666,6 @@ static int kvm_vm_ioctl_create_vcpu(stru
if (IS_ERR(vcpu))
return PTR_ERR(vcpu);
- preempt_notifier_init(&vcpu->preempt_notifier, &kvm_preempt_ops);
-
/* We do fxsave: this must be aligned. */
BUG_ON((unsigned long)&vcpu->host_fx_image & 0xF);
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________ kvm-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/kvm-devel
