# HG changeset patch # User John Tsiombikas # Date 1318655218 -10800 # Node ID d3601789d638ac3dde6c17fbf1cb2435abf8e1ac # Parent b4b7198986a6ddadc14702da614f9c1a181999dc fixed cleanup_vm to avoid cleaning up kernel pages diff -r b4b7198986a6 -r d3601789d638 src/vm.c --- a/src/vm.c Sat Oct 15 08:06:10 2011 +0300 +++ b/src/vm.c Sat Oct 15 08:06:58 2011 +0300 @@ -814,6 +814,12 @@ rb_begin(&p->vmmap); while((vmnode = rb_next(&p->vmmap))) { struct vm_page *page = vmnode->data; + + /* skip kernel pages obviously */ + if(!(page->flags & PG_USER)) { + continue; + } + if(--page->nref <= 0) { /* free the physical page if nref goes to 0 */ free_phys_page(PAGE_TO_ADDR(page->ppage));