From 51dcf5f7f8524af14d4c169cecfd9534fe7844fe Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Fri, 30 Jun 2017 16:45:37 +0200 Subject: [PATCH] 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 --- repos/base/src/core/include/pd_session_component.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/repos/base/src/core/include/pd_session_component.h b/repos/base/src/core/include/pd_session_component.h index f057a0e85b..d699706b1d 100644 --- a/repos/base/src/core/include/pd_session_component.h +++ b/repos/base/src/core/include/pd_session_component.h @@ -48,13 +48,14 @@ class Genode::Pd_session_component : public Session_object Rpc_entrypoint &_ep; Constrained_ram_allocator _constrained_md_ram_alloc; Sliced_heap _sliced_heap; - Constructible _pd { &_sliced_heap, _label.string() }; Capability _parent; Signal_broker _signal_broker; Ram_dataspace_factory _ram_ds_factory; Rpc_cap_factory _rpc_cap_factory; Native_pd_component _native_pd; + Constructible _pd; + Region_map_component _address_space; Region_map_component _stack_area; Region_map_component _linker_area;