mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-09 20:51:16 +00:00
This patch removes the only residual C++ exception from the kernel part of core, eliminating the risk of the kernel thread trying to enter the kernel itself via the C++ exception-handling path. When throwing an exception, __cxa_allocate_exception invokes the cxx_heap, which synchronizes accesses via a Genode::Mutex. In the contention case, the blocking of the mutex issues a syscall to pause the caller. The patch fixes the problem by replacing the exception with a return value. Fixes #5382 Issue #5245