genode/repos/base-hw/include/base
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
..
ipc_msgbuf.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
native_capability.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
native_env.h hw: kernel backed capabilities (Fix #1443) 2015-05-26 09:40:04 +02:00
native_types.h hw: reference count capabilities in UTCBs 2015-12-10 13:16:25 +01:00