summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-09 19:23:28 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2021-08-09 19:23:28 +0200
commit5f709eace1fb688ed6dcfa7626c113791ed86dc6 (patch)
treeaf7b2e75c51eec530c53cb9d8f56d2874dd571fa
parent808f7561179320650090085bb98f8d0cd4634624 (diff)
memory_object_proxy: release resources on no-send notification
-rw-r--r--vm/memory_object_proxy.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vm/memory_object_proxy.c b/vm/memory_object_proxy.c
index 01bce2a5..012369a0 100644
--- a/vm/memory_object_proxy.c
+++ b/vm/memory_object_proxy.c
@@ -102,6 +102,12 @@ memory_object_proxy_notify (mach_msg_header_t *msg)
assert (proxy);
ipc_port_release_send (proxy->object);
+
+ ipc_kobject_set (proxy->port, IKO_NULL, IKOT_NONE);
+ ipc_port_dealloc_kernel (proxy->port);
+
+ kmem_cache_free (&memory_object_proxy_cache, (vm_offset_t) proxy);
+
return TRUE;
}