From: Matthew Dillon Date: Sun, 7 May 2006 00:23:08 +0000 (+0000) Subject: We have to use pmap_extract() here. pmap_kextract() will choke on a missing X-Git-Tag: v2.0.1~4964 X-Git-Url: https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff_plain/765f70a15da3589a3cc28599081d6291390f49cd We have to use pmap_extract() here. pmap_kextract() will choke on a missing page directory and the user memory hasn't been touched yet. --- diff --git a/sys/kern/kern_xio.c b/sys/kern/kern_xio.c index c7a90871d6..2b51857c79 100644 --- a/sys/kern/kern_xio.c +++ b/sys/kern/kern_xio.c @@ -31,7 +31,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $DragonFly: src/sys/kern/kern_xio.c,v 1.10 2005/06/06 15:02:28 dillon Exp $ + * $DragonFly: src/sys/kern/kern_xio.c,v 1.11 2006/05/07 00:23:08 dillon Exp $ */ /* * Kernel XIO interface. An initialized XIO is basically a collection of @@ -115,7 +115,7 @@ xio_init_ubuf(xio_t xio, void *ubase, size_t ubytes, int flags) for (i = 0; n && i < XIO_INTERNAL_PAGES; ++i) { if (vm_fault_quick((caddr_t)addr, vmprot) < 0) break; - if ((paddr = pmap_kextract(addr)) == 0) + if ((paddr = pmap_extract(&curproc->p_vmspace->vm_pmap, addr)) == 0) break; crit_enter(); m = PHYS_TO_VM_PAGE(paddr);