genode/repos/base/src/core
Norman Feske 64bc008c3a core: fix inconsistent state after failed 'trace'
This patch fixes the handling of the corner case where the allocation of
a trace buffer throws 'Out_of_caps' or 'Out_of_ram'. Under this
circumstance, the '_buffer' would still be flagged with the 'size',
which prevented any subsequent allocation attempt. This patch fixes the
problem by initializing the 'size' after the potentially throwing
allocation.

The problem triggered with the test-trace_logger after the accounting of
core's TRACE service (replacing the 'Allocator_guard' by
'Constrained_ram_allocator') became more accurate.

Related to issue #3750
2020-05-18 10:16:13 +02:00
..
include core: fix inconsistent state after failed 'trace' 2020-05-18 10:16:13 +02:00
spec/x86 vm_session: support to trace vCPU 2019-05-06 16:15:26 +02:00
capability_space.cc core: add Platform::max_caps() 2017-05-31 13:16:03 +02:00
core_log.cc core: add support to export log output as ROM 2017-12-21 15:01:46 +01:00
core_mem_alloc.cc Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
core_region_map.cc base: support to attach RAM dataspaces readonly 2018-05-30 13:36:27 +02:00
core_rpc_cap_alloc.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
cpu_session_component.cc Remove Allocator_guard 2020-05-18 10:16:12 +02:00
cpu_session_support.cc core: add kernel-specific UTCB quota bookkeeping 2020-02-20 12:11:21 +01:00
cpu_thread_component.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
dataspace_component.cc core: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
default_log.cc base: remove dependency from deprecated APIs 2019-02-19 11:08:17 +01:00
dump_alloc.cc core: improve formatting of allocator dumps 2017-03-24 16:19:58 +01:00
heartbeat.cc init: health monitoring of child components 2018-11-27 11:36:34 +01:00
io_mem_session_component.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
main.cc Remove Allocator_guard 2020-05-18 10:16:12 +02:00
pager_ep.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
pager_object.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
pd_session_component.cc core: remove quota-related diagnostic messages 2019-12-19 17:00:48 +01:00
pd_session_support.cc core: add map method to pd_session interface 2017-08-18 10:24:46 +02:00
platform_rom_modules.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
platform_services.cc vm_session: support to trace vCPU 2019-05-06 16:15:26 +02:00
ram_dataspace_factory.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
region_map_component.cc core: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
rom_session_component.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
rpc_cap_factory_l4.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
rpc_cap_factory.cc core: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
signal_receiver.cc hw: introduce non-blocking signal checking 2019-03-18 15:56:24 +01:00
signal_source_component.cc Remove pointers from Genode::Fifo interface 2019-02-19 11:08:17 +01:00
signal_transmitter_noinit.cc core: use separate signal ep 2017-11-30 11:23:11 +01:00
signal_transmitter_proxy.cc core: use separate signal ep 2017-11-30 11:23:11 +01:00
stack_area.cc base/core: use references instead of pointers 2019-02-12 10:33:13 +01:00
target.inc kernel: differentiate board-specific components 2019-05-27 14:46:52 +02:00
trace_session_component.cc Remove Allocator_guard 2020-05-18 10:16:12 +02:00
version.cc Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
version.inc core: avoid using BASE_DIR in vpath 2017-05-02 15:29:03 +02:00
vm_session_common.cc base: extend attach of vm_session 2019-05-06 16:15:25 +02:00