genode/repos/base-hw/src/core/kernel
Stefan Kalkowski 60ba210a6b hw: reference count capabilities in UTCBs
When capabilities are delegated to components, they are added to the UTCB of the
target thread. Before the thread is able to take out the capability id out of
the UTCB and adapt the user-level capability reference counter, it might happen
that another thread of the same component deletes the same capability because
its user-level reference counter reached zero. If the kernel then destroys the
capability, before the same capability id is taken out of all UTCBs, an
inconsitent view in the component is the result.  To keep an consistent view in
the multi-threading scenario, the kernel now counts how often it puts a
capability into a UTCB. The threads on the other hand hint the kernel when they
took capabilities out of the UTCB, so the kernel can decrement the counter
again. Only when the counter is zero, capabilities can get destructed.

Fix #1623
2015-12-10 13:16:25 +01:00
..
cpu_scheduler.cc hw: eliminate missing references for consts 2015-07-01 14:46:16 +02:00
cpu.cc hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
double_list.cc hw: separate function declaration/implementation 2015-05-06 10:55:23 +02:00
ipc_node.cc hw: reference count capabilities in UTCBs 2015-12-10 13:16:25 +01:00
irq.cc hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
kernel.cc hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
object.cc hw: reference count capabilities in UTCBs 2015-12-10 13:16:25 +01:00
pd.cc hw: unlock kernel before context propagation 2015-09-09 15:14:27 +02:00
signal_receiver.cc base-hw: use signal context list for pending signals 2015-11-27 12:18:50 +01:00
test.cc hw: enable kernel-internal tests via run tool 2014-11-28 12:02:34 +01:00
thread.cc hw: reference count capabilities in UTCBs 2015-12-10 13:16:25 +01:00
vm_thread.cc hw: directly reference kernel objects from core 2015-04-17 16:13:20 +02:00