diff options
| author | 2007-10-27 22:31:17 +0000 | |
|---|---|---|
| committer | 2007-10-27 22:31:17 +0000 | |
| commit | 9b9112bbe7f63ab59e6d9f1e7886befcffe23f73 (patch) | |
| tree | a8842f208192f7bdcd2567d3eec438216071e010 | |
| parent | get rid of btoc/ctob in favor of atop/ptoa (diff) | |
| download | wireguard-openbsd-9b9112bbe7f63ab59e6d9f1e7886befcffe23f73.tar.xz wireguard-openbsd-9b9112bbe7f63ab59e6d9f1e7886befcffe23f73.zip | |
Grab kernel lock for EXC_DSI.
Requested by deraadt@
| -rw-r--r-- | sys/arch/powerpc/powerpc/trap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/arch/powerpc/powerpc/trap.c b/sys/arch/powerpc/powerpc/trap.c index dde75b48119..2b1694924b2 100644 --- a/sys/arch/powerpc/powerpc/trap.c +++ b/sys/arch/powerpc/powerpc/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.78 2007/04/26 21:36:32 kettenis Exp $ */ +/* $OpenBSD: trap.c,v 1.79 2007/10/27 22:31:17 kettenis Exp $ */ /* $NetBSD: trap.c,v 1.3 1996/10/13 03:31:37 christos Exp $ */ /* @@ -314,8 +314,12 @@ trap(struct trapframe *frame) ftype = VM_PROT_READ | VM_PROT_WRITE; else ftype = VM_PROT_READ; - if (uvm_fault(map, trunc_page(va), 0, ftype) == 0) + KERNEL_LOCK(); + if (uvm_fault(map, trunc_page(va), 0, ftype) == 0) { + KERNEL_UNLOCK(); return; + } + KERNEL_UNLOCK(); if ((fb = p->p_addr->u_pcb.pcb_onfault)) { p->p_addr->u_pcb.pcb_onfault = 0; |
