Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/uvm/uvm_fault.c,v rcsdiff: /ftp/cvs/cvsroot/src/sys/uvm/uvm_fault.c,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.112 retrieving revision 1.112.2.2 diff -u -p -r1.112 -r1.112.2.2 --- src/sys/uvm/uvm_fault.c 2006/09/15 15:51:13 1.112 +++ src/sys/uvm/uvm_fault.c 2006/12/10 07:19:33 1.112.2.2 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_fault.c,v 1.112 2006/09/15 15:51:13 yamt Exp $ */ +/* $NetBSD: uvm_fault.c,v 1.112.2.2 2006/12/10 07:19:33 yamt Exp $ */ /* * @@ -39,7 +39,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.112 2006/09/15 15:51:13 yamt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.112.2.2 2006/12/10 07:19:33 yamt Exp $"); #include "opt_uvmhist.h" @@ -50,7 +50,6 @@ __KERNEL_RCSID(0, "$NetBSD: uvm_fault.c, #include #include #include -#include #include @@ -798,8 +797,8 @@ ReFault: */ if (UVM_ET_ISNEEDSCOPY(ufi.entry)) { - KASSERT(fault_flag != UVM_FAULT_WIREMAX); if (cow_now || (ufi.entry->object.uvm_obj == NULL)) { + KASSERT(fault_flag != UVM_FAULT_WIREMAX); /* need to clear */ UVMHIST_LOG(maphist, " need to clear needs_copy and refault",0,0,0,0); @@ -1285,8 +1284,7 @@ ReFault: uvm_pagecopy(anon->an_page, pg); /* force reload */ - pmap_page_protect(anon->an_page, - VM_PROT_NONE); + pmap_page_protect(anon->an_page, VM_PROT_NONE); uvm_lock_pageq(); /* KILL loan */ anon->an_page->uanon = NULL; @@ -1816,6 +1814,7 @@ Case2: * clear its clean flag now. */ + KASSERT(uobj != NULL); pg->flags &= ~(PG_CLEAN); uao_dropswap(uobj, pg->offset >> PAGE_SHIFT); }