genode/repos/os/src/server/loader
Norman Feske 5a1cef6381 Make label prefixing more strict
This patch unconditionally applies the labeling of sessions and thereby
removes the most common use case of 'Child_policy::filter_session_args'.
Furthermore, the patch removes an ambiguity of the session labels of
sessions created by the parent of behalf of its child, e.g., the PD
session created as part of 'Child' now has the label "<child-name>"
whereas an unlabeled PD-session request originating from the child
has the label "<child-name> -> ". This way, the routing-policy of
'Child_policy::resolve_session_request' can differentiate both cases.

As a consequence, the stricter labeling must now be considered wherever
a precise label was specified as a key for a session route or a server-
side policy selection. The simplest way to adapt those cases is to use a
'label_prefix' instead of the 'label' attribute. Alternatively, the
'label' attribute may used by appending " -> " (note the whitespace).

Fixes #2171
2016-11-30 13:37:07 +01:00
..
child.h Make label prefixing more strict 2016-11-30 13:37:07 +01:00
input.h Remove inconsistent use of 'is_' prefix 2016-05-23 15:52:39 +02:00
main.cc Adapt low-level components to new parent interface 2016-11-25 16:06:42 +01:00
nitpicker.h Adapt low-level components to new parent interface 2016-11-25 16:06:42 +01:00
ram_session_client_guard.h Define Genode::size_t as unsigned long 2016-10-21 12:39:29 +02:00
README Adapt low-level components to new parent interface 2016-11-25 16:06:42 +01:00
rom.h Adapt low-level components to new parent interface 2016-11-25 16:06:42 +01:00
target.mk base-linux: remove chroot support 2016-03-08 17:00:54 +01:00

This directory contains a loader service, which allows for the instantiation of
subsystems via a session interface. The resources for the new subsystem are
provided by the client when opening the session. The client has no control over
the functioning of the subsystem except for the controlling the lifetime of the
subsystem.

By default, the loaded subsystem can access only those ROM modules that were
loaded into the loader session by the loader client. However, it is possible
to define a whitelist of ROM modules to be obtained from the loader's parent.
For an example, refer to the example 'run/loader.run' script.