X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_config.c;h=e463e325026e221105e04bd4b001879259440478;hb=4454a172129d12e97793c9c353339b85d3335af4;hp=de646bf8b732c8d85d7338c00127c8526cd000c9;hpb=8070d5e87ee3b92cc95bdcb65b2906b0a55d2ea9;p=palacios.git diff --git a/palacios/src/palacios/vmm_config.c b/palacios/src/palacios/vmm_config.c index de646bf..e463e32 100644 --- a/palacios/src/palacios/vmm_config.c +++ b/palacios/src/palacios/vmm_config.c @@ -595,7 +595,9 @@ struct v3_vm_info * v3_config_guest(void * cfg_blob, void * priv_data) { V3_Print(vm, VCORE_NONE, "Preconfiguration\n"); if (pre_config_vm(vm, vm->cfg_data->cfg) == -1) { - PrintError(vm, VCORE_NONE, "Error in preconfiguration\n"); + PrintError(vm, VCORE_NONE, "Error in preconfiguration, attempting to free\n"); + vm->run_state=VM_ERROR; + v3_free_vm(vm); return NULL; } @@ -611,7 +613,9 @@ struct v3_vm_info * v3_config_guest(void * cfg_blob, void * priv_data) { info->core_cfg_data = per_core_cfg; if (pre_config_core(info, per_core_cfg) == -1) { - PrintError(vm, VCORE_NONE, "Error in core %d preconfiguration\n", i); + PrintError(vm, VCORE_NONE, "Error in core %d preconfiguration, attempting to free guest\n", i); + vm->run_state=VM_ERROR; + v3_free_vm(vm); return NULL; } @@ -623,7 +627,9 @@ struct v3_vm_info * v3_config_guest(void * cfg_blob, void * priv_data) { V3_Print(vm, VCORE_NONE, "Post Configuration\n"); if (post_config_vm(vm, vm->cfg_data->cfg) == -1) { - PrintError(vm, VCORE_NONE, "Error in postconfiguration\n"); + PrintError(vm, VCORE_NONE, "Error in postconfiguration, attempting to free guest\n"); + vm->run_state=VM_ERROR; + v3_free_vm(vm); return NULL; }