提交 ca45aaae 编写于 作者: A Avi Kivity

KVM: Unset kvm_arch_ops if arch module loading failed

Otherwise, the core module thinks the arch module is loaded, and won't
let you reload it after you've fixed the bug.
Signed-off-by: NAvi Kivity <avi@qumranet.com>
上级 b720a3be
...@@ -2464,7 +2464,7 @@ int kvm_init_arch(struct kvm_arch_ops *ops, struct module *module) ...@@ -2464,7 +2464,7 @@ int kvm_init_arch(struct kvm_arch_ops *ops, struct module *module)
r = kvm_arch_ops->hardware_setup(); r = kvm_arch_ops->hardware_setup();
if (r < 0) if (r < 0)
return r; goto out;
on_each_cpu(kvm_arch_ops->hardware_enable, NULL, 0, 1); on_each_cpu(kvm_arch_ops->hardware_enable, NULL, 0, 1);
r = register_cpu_notifier(&kvm_cpu_notifier); r = register_cpu_notifier(&kvm_cpu_notifier);
...@@ -2500,6 +2500,8 @@ int kvm_init_arch(struct kvm_arch_ops *ops, struct module *module) ...@@ -2500,6 +2500,8 @@ int kvm_init_arch(struct kvm_arch_ops *ops, struct module *module)
out_free_1: out_free_1:
on_each_cpu(kvm_arch_ops->hardware_disable, NULL, 0, 1); on_each_cpu(kvm_arch_ops->hardware_disable, NULL, 0, 1);
kvm_arch_ops->hardware_unsetup(); kvm_arch_ops->hardware_unsetup();
out:
kvm_arch_ops = NULL;
return r; return r;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册