From: Jan Kiszka <[email protected]> entry() calls arch_cpu_restore() when something went wrong. Calling it twice may have been harmless in the past, but now it hangs. And it's pointless anyway.
Looks like this was wrong since day 1. Signed-off-by: Jan Kiszka <[email protected]> --- hypervisor/arch/x86/setup.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/hypervisor/arch/x86/setup.c b/hypervisor/arch/x86/setup.c index 9127aec0..6f0be862 100644 --- a/hypervisor/arch/x86/setup.c +++ b/hypervisor/arch/x86/setup.c @@ -197,17 +197,9 @@ int arch_cpu_init(struct per_cpu *cpu_data) err = apic_cpu_init(cpu_data); if (err) - goto error_out; - - err = vcpu_init(cpu_data); - if (err) - goto error_out; - - return 0; + return err; -error_out: - arch_cpu_restore(this_cpu_id(), err); - return err; + return vcpu_init(cpu_data); } void __attribute__((noreturn)) arch_cpu_activate_vmm(void) -- 2.16.4 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/fd0212fe-ca19-ad8a-b932-96c0da90df91%40web.de. For more options, visit https://groups.google.com/d/optout.
