diff options
author | cognet <cognet@FreeBSD.org> | 2005-06-16 13:21:52 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2005-06-16 13:21:52 +0000 |
commit | 6a3b6acd6566d8047a0e38be1f62994773c9b19d (patch) | |
tree | 000f97474975fab88968ea0cdc719144095a64f0 /sys/arm | |
parent | 02006202bd9e88d5920da2ee1d800f63e15e9766 (diff) | |
download | FreeBSD-src-6a3b6acd6566d8047a0e38be1f62994773c9b19d.zip FreeBSD-src-6a3b6acd6566d8047a0e38be1f62994773c9b19d.tar.gz |
Don't pass the kernel_pmap to pmap_fault_fixup() if the fault comes from
kernel mode, always use the curthread pmap instead. There are valid cases
were we can fault on a user address from the kernel without pcb_onfault
being set.
Approved by: re (blanket)
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/trap.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/arm/arm/trap.c b/sys/arm/arm/trap.c index 1b96392..82e0aef 100644 --- a/sys/arm/arm/trap.c +++ b/sys/arm/arm/trap.c @@ -406,8 +406,8 @@ data_abort_handler(trapframe_t *tf) #ifdef DEBUG last_fault_code = fsr; #endif - if (pmap_fault_fixup(user ? vmspace_pmap(td->td_proc->p_vmspace) : - kernel_pmap, va, ftype, user)) { + if (pmap_fault_fixup(vmspace_pmap(td->td_proc->p_vmspace), va, ftype, + user)) { goto out; } |