diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2021-05-05 07:29:02 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2021-05-05 07:29:02 +0000 |
commit | daa628bb5a5a83e2a2628e281f3ab8bde8317812 (patch) | |
tree | 8116dc1d7a606bfc0136008f365c19db7cba6438 /sys/arch/arm64 | |
parent | fc21cd1a8850beb1e985c811d3eabec5fc887807 (diff) |
Unlock top part of the fault handler.
ok kettenis@
Diffstat (limited to 'sys/arch/arm64')
-rw-r--r-- | sys/arch/arm64/arm64/trap.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/arch/arm64/arm64/trap.c b/sys/arch/arm64/arm64/trap.c index c2b6795e7ce..c4a3ef0d50e 100644 --- a/sys/arch/arm64/arm64/trap.c +++ b/sys/arch/arm64/arm64/trap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: trap.c,v 1.35 2021/01/25 19:37:18 kettenis Exp $ */ +/* $OpenBSD: trap.c,v 1.36 2021/05/05 07:29:00 mpi Exp $ */ /*- * Copyright (c) 2014 Andrew Turner * All rights reserved. @@ -120,9 +120,7 @@ udata_abort(struct trapframe *frame, uint64_t esr, uint64_t far, int exe) if (pmap_fault_fixup(map->pmap, va, access_type)) return; - KERNEL_LOCK(); error = uvm_fault(map, va, 0, access_type); - KERNEL_UNLOCK(); if (error == 0) { uvm_grow(p, va); @@ -178,9 +176,7 @@ kdata_abort(struct trapframe *frame, uint64_t esr, uint64_t far, int exe) /* Handle referenced/modified emulation */ if (!pmap_fault_fixup(map->pmap, va, access_type)) { - KERNEL_LOCK(); error = uvm_fault(map, va, 0, access_type); - KERNEL_UNLOCK(); if (error == 0 && map != kernel_map) uvm_grow(p, va); |