[PATCH 3/3] KVM: Recover after an arch module load failure
- From: Avi Kivity <avi@xxxxxxxxxxxx>
- Date: Sun, 31 Dec 2006 13:21:52 -0000
From: Yoshimi Ichiyanagi <ichiyanagi.yoshimi@xxxxxxxxxxxxx>
If we load the wrong arch module, it leaves behind kvm_arch_ops set, which
prevents loading of the correct arch module later.
Fix be not setting kvm_arch_ops until we're sure it's good.
Signed-off-by: Yoshimi Ichiyanagi <ichiyanagi.yoshimi@xxxxxxxxxxxxx>
Signed-off-by: Avi Kivity <avi@xxxxxxxxxxxx>
Index: linux-2.6/drivers/kvm/kvm_main.c
===================================================================
--- linux-2.6.orig/drivers/kvm/kvm_main.c
+++ linux-2.6/drivers/kvm/kvm_main.c
@@ -1944,17 +1944,17 @@ int kvm_init_arch(struct kvm_arch_ops *o
return -EEXIST;
}
- kvm_arch_ops = ops;
-
- if (!kvm_arch_ops->cpu_has_kvm_support()) {
+ if (!ops->cpu_has_kvm_support()) {
printk(KERN_ERR "kvm: no hardware support\n");
return -EOPNOTSUPP;
}
- if (kvm_arch_ops->disabled_by_bios()) {
+ if (ops->disabled_by_bios()) {
printk(KERN_ERR "kvm: disabled by bios\n");
return -EOPNOTSUPP;
}
+ kvm_arch_ops = ops;
+
r = kvm_arch_ops->hardware_setup();
if (r < 0)
return r;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
- References:
- [PATCH 0/3] KVM: Miscellaneous stabilization fixes
- From: Avi Kivity
- [PATCH 0/3] KVM: Miscellaneous stabilization fixes
- Prev by Date: [PATCH 2/3] KVM: Use raw_smp_processor_id() instead of smp_processor_id() where applicable
- Next by Date: Re: [PATCH] Open Firmware device tree virtual filesystem
- Previous by thread: [PATCH 2/3] KVM: Use raw_smp_processor_id() instead of smp_processor_id() where applicable
- Next by thread: [PATCH 1/3] KVM: Fix GFP_KERNEL alloc in atomic section bug
- Index(es):