X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_direct_paging.c;h=b747ef177b6fccffb661c3e801deac047c10266d;hp=7c3e72fb2531f80cb7c0bcdb40cceed6d42936b9;hb=9d346ee2cf8a7f2a79dc4929b8e0416de7d8f8c8;hpb=e2a6eba59e9be18cbf5095df4da4d716cf1cf141 diff --git a/palacios/src/palacios/vmm_direct_paging.c b/palacios/src/palacios/vmm_direct_paging.c index 7c3e72f..b747ef1 100644 --- a/palacios/src/palacios/vmm_direct_paging.c +++ b/palacios/src/palacios/vmm_direct_paging.c @@ -407,6 +407,7 @@ int v3_init_passthrough_paging(struct v3_vm_info *vm) { INIT_LIST_HEAD(&(vm->passthrough_impl.event_callback_list)); v3_rw_lock_init(&(vm->passthrough_impl.event_callback_lock)); + vm->passthrough_impl.inited=1; return 0; } @@ -415,6 +416,10 @@ int v3_deinit_passthrough_paging(struct v3_vm_info *vm) struct passthrough_event_callback *cb,*temp; addr_t flags; + if (!vm->passthrough_impl.inited) { + return 0; + } + flags=v3_write_lock_irqsave(&(vm->passthrough_impl.event_callback_lock)); list_for_each_entry_safe(cb,