Page MenuHomeFreeBSD

D21645.diff
No OneTemporary

D21645.diff

Index: head/sys/riscv/riscv/trap.c
===================================================================
--- head/sys/riscv/riscv/trap.c
+++ head/sys/riscv/riscv/trap.c
@@ -217,29 +217,7 @@
if (pmap_fault_fixup(map->pmap, va, ftype))
goto done;
- if (map != kernel_map) {
- /*
- * Keep swapout from messing with us during this
- * critical time.
- */
- PROC_LOCK(p);
- ++p->p_lock;
- PROC_UNLOCK(p);
-
- /* Fault in the user page: */
- error = vm_fault(map, va, ftype, VM_FAULT_NORMAL);
-
- PROC_LOCK(p);
- --p->p_lock;
- PROC_UNLOCK(p);
- } else {
- /*
- * Don't have to worry about process locking or stacks in the
- * kernel.
- */
- error = vm_fault(map, va, ftype, VM_FAULT_NORMAL);
- }
-
+ error = vm_fault(map, va, ftype, VM_FAULT_NORMAL);
if (error != KERN_SUCCESS) {
if (usermode) {
sig = SIGSEGV;

File Metadata

Mime Type
text/plain
Expires
Fri, Dec 27, 4:31 AM (10 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15611182
Default Alt Text
D21645.diff (843 B)

Event Timeline