mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-20 17:52:52 +00:00
Fiasco.OC: Fix unmap of kernel-capabilities
In the cap-session component in core when freeing a capability, the corresponding kernel object should be unmapped from all processes and core. Until now, the unmap operation for removing the kernel object didn't worked because of using the wrong rights-map. This patch fixes it. The re-use of capabilities introduced by the last patch triggered this problem because its essential for the capability-registry to detect invalidated capabilities.
This commit is contained in:
parent
41eaff2cc6
commit
8f42b58b53
@ -118,7 +118,7 @@ void Cap_session_component::free(Native_capability cap)
|
||||
|
||||
Capability_tree::tree()->remove(n);
|
||||
l4_msgtag_t tag = l4_task_unmap(L4_BASE_TASK_CAP,
|
||||
l4_obj_fpage(cap.dst(), 0, 0),
|
||||
l4_obj_fpage(cap.dst(), 0, L4_FPAGE_RWX),
|
||||
L4_FP_ALL_SPACES | L4_FP_DELETE_OBJ);
|
||||
if (l4_msgtag_has_error(tag))
|
||||
PERR("destruction of ipc-gate %lx failed!", (unsigned long) cap.dst());
|
||||
|
Loading…
x
Reference in New Issue
Block a user