summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2004-08-22 00:08:43 +0000
committeralc <alc@FreeBSD.org>2004-08-22 00:08:43 +0000
commit069d1661bd16d7519fd04fd460f25d700c8b0fb5 (patch)
tree6fe9a2cb36a6b42ec32cc178cf9f17715a5412f9 /sys/vm/vm_fault.c
parent5a65579e607e7b7297eb7a3977cb740c434cf606 (diff)
downloadFreeBSD-src-069d1661bd16d7519fd04fd460f25d700c8b0fb5.zip
FreeBSD-src-069d1661bd16d7519fd04fd460f25d700c8b0fb5.tar.gz
In the previous revision, I failed to condition an early release of Giant
in vm_fault() on debug_mpsafevm. If debug_mpsafevm was not set, the result was an assertion failure early in the boot process. Reported by: green@
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 1f6fd0b..318e9ba 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -295,7 +295,8 @@ RetryFault:;
VM_OBJECT_LOCK(fs.first_object);
vm_object_reference_locked(fs.first_object);
fs.vp = vnode_pager_lock(fs.first_object);
- mtx_unlock(&Giant);
+ if (debug_mpsafevm)
+ mtx_unlock(&Giant);
vm_object_pip_add(fs.first_object, 1);
fs.lookup_still_valid = TRUE;
OpenPOWER on IntegriCloud