aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2002-04-27 09:34:15 +0000
committerAlan Cox <alc@FreeBSD.org>2002-04-27 09:34:15 +0000
commit644d87b30a995d0249fb9247571d1f3bda63a218 (patch)
treed324558c67e8f7fe2a8515f6658c29bd7a9fba83
parentacbbcc5f1dd19a1ac1298c4272a2b2b8efb534b6 (diff)
downloadsrc-644d87b30a995d0249fb9247571d1f3bda63a218.tar.gz
src-644d87b30a995d0249fb9247571d1f3bda63a218.zip
MFi386 1.222: Remove vm_map_growstack() and acquisition and release of Giant
around vm_fault().
Notes
Notes: svn path=/head/; revision=95554
-rw-r--r--sys/alpha/alpha/trap.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c
index 16185b7cf6ce..7f97984f7fef 100644
--- a/sys/alpha/alpha/trap.c
+++ b/sys/alpha/alpha/trap.c
@@ -472,7 +472,6 @@ trap(a0, a1, a2, entry, framep)
goto out;
}
- mtx_lock(&Giant);
/*
* It is only a kernel address space fault iff:
* 1. !user and
@@ -515,7 +514,6 @@ trap(a0, a1, a2, entry, framep)
break;
#ifdef DIAGNOSTIC
default: /* XXX gcc -Wuninitialized */
- mtx_unlock(&Giant);
goto dopanic;
#endif
}
@@ -531,20 +529,8 @@ trap(a0, a1, a2, entry, framep)
++p->p_lock;
PROC_UNLOCK(p);
- /*
- * Grow the stack if necessary
- */
- /* vm_map_growstack fails only if va falls into
- * a growable stack region and the stack growth
- * fails. It succeeds if va was not within
- * a growable stack region, or if the stack
- * growth succeeded.
- */
- if (vm_map_growstack(p, va) != KERN_SUCCESS)
- rv = KERN_FAILURE;
- else
- /* Fault in the user page: */
- rv = vm_fault(map, va, ftype,
+ /* Fault in the user page: */
+ rv = vm_fault(map, va, ftype,
(ftype & VM_PROT_WRITE)
? VM_FAULT_DIRTY
: VM_FAULT_NORMAL);
@@ -559,7 +545,6 @@ trap(a0, a1, a2, entry, framep)
*/
rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL);
}
- mtx_unlock(&Giant);
if (rv == KERN_SUCCESS)
goto out;