1.1 --- a/libipc/lib/src/mem_ipc.c Tue Jun 25 13:53:18 2024 +0200
1.2 +++ b/libipc/lib/src/mem_ipc.c Tue Jun 25 13:56:26 2024 +0200
1.3 @@ -107,9 +107,9 @@
1.4 return err;
1.5 }
1.6
1.7 -/* Detach a dataspace region. Equivalent to l4re_rm_detach_unmap. */
1.8 +/* Detach a dataspace region. Equivalent to l4re_rm_detach_ds_unmap. */
1.9
1.10 -long ipc_detach_dataspace(void *addr)
1.11 +long ipc_detach_dataspace(void *addr, l4_cap_idx_t *cap)
1.12 {
1.13 long err;
1.14
1.15 @@ -117,7 +117,10 @@
1.16 if (err)
1.17 return err;
1.18
1.19 - err = l4re_rm_detach_unmap((l4_addr_t) addr, L4RE_THIS_TASK_CAP);
1.20 + if (cap != NULL)
1.21 + err = l4re_rm_detach_ds_unmap((l4_addr_t) addr, cap, L4RE_THIS_TASK_CAP);
1.22 + else
1.23 + err = l4re_rm_detach_unmap((l4_addr_t) addr, L4RE_THIS_TASK_CAP);
1.24
1.25 ipc_semaphore_up(ipc_mem_semaphore);
1.26