mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-18 18:56:29 +00:00
ceb04d3c11
Don't skip the cleanup call if a pager object is marked as blocked. It happens that the pager_object is in destruction but it is also used concurrently by the pager thread. The pager thread handling code may set the pager object to blocked but still uses the pointer to the pager object. Avoid locking at the state of the pager object and make the cleanup call everytime. Error output looks like this, where the pf_ip is within void Pager_object::_page_fault_handler(addr_t pager_obj) method and the pf_addr is the stale pointer to the already released pager_object. no RM attachment (READ pf_addr=xxx pf_ip=xxx from 00 <NULL>) static void Genode::Pager_object::_page_fault_handler(Genode::addr_t): page fault, thread '<NULL>', cpu x, ip=xxx, fault address=xxx PAGE-FAULT IN CORE (READ pf_addr=b10e0090 pf_ip=132dbc from 00 <NULL>) |
||
---|---|---|
.. | ||
doc | ||
etc | ||
include | ||
lib/mk | ||
mk/spec | ||
patches | ||
ports | ||
run | ||
src | ||
Makefile | ||
README |
This repository contains the port of Genode to the NOVA microhypervisor. For more information on this base platform, please refer to the official website. :[http://hypervisor.org]: Official website for the NOVA microhypervisor. For information on using Genode on NOVA, please revisit the documentation at 'base-nova/doc/nova.txt':