core: destruct platform_pd before ram_ds_factory

Platform_pd "_pd" uses a allocator for, which relies on the mapped RAM
dataspace within core. Unfortunately the RAM dataspaces are already freed up
during _ram_ds_factory destruction, which may lead to trouble if accessed
afterwards.

Issue #2451
This commit is contained in:
Alexander Boettcher 2017-06-30 16:45:37 +02:00 committed by Christian Helmuth
parent 92db5d2c4e
commit 51dcf5f7f8

View File

@ -48,13 +48,14 @@ class Genode::Pd_session_component : public Session_object<Pd_session>
Rpc_entrypoint &_ep;
Constrained_ram_allocator _constrained_md_ram_alloc;
Sliced_heap _sliced_heap;
Constructible<Platform_pd> _pd { &_sliced_heap, _label.string() };
Capability<Parent> _parent;
Signal_broker _signal_broker;
Ram_dataspace_factory _ram_ds_factory;
Rpc_cap_factory _rpc_cap_factory;
Native_pd_component _native_pd;
Constructible<Platform_pd> _pd;
Region_map_component _address_space;
Region_map_component _stack_area;
Region_map_component _linker_area;