DragonFly commits List (threaded) for 2007-12
cvs commit: src/sys/vm vm_page.c
dillon 2007/12/06 14:25:49 PST
DragonFly src repository
Fix a 'panic: vm_page_cache: caching a dirty page' assertion. Even though
callers of vm_page_cache() check m->dirty and test the PTE's in the page's
pmap, it is still possible on a SMP system for a process running in usermode
on a different cpu to dirty the page after these tests, but before the page
has been removed from various pagetables.
The solution is to test m->dirty again after vm_page_cache() removes the
page from its associated page tables and silently deactivate the page instead
of moving it to the cache if the page is found to be dirty.
Reported-by: Peter Avalos <firstname.lastname@example.org>
Revision Changes Path
1.36 +26 -12 src/sys/vm/vm_page.c