summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2005-05-12 04:09:41 +0000
committergrehan <grehan@FreeBSD.org>2005-05-12 04:09:41 +0000
commita442ec4d3f1cf6c5dec7976dac00c6185ac0fc1d (patch)
tree674f6f7674993e54f6b65a8ace3679aaea2ad2ba /sys/vm/vm_fault.c
parentc6e5e8f44619e77af9520e0ac2c4ffe93563c530 (diff)
downloadFreeBSD-src-a442ec4d3f1cf6c5dec7976dac00c6185ac0fc1d.zip
FreeBSD-src-a442ec4d3f1cf6c5dec7976dac00c6185ac0fc1d.tar.gz
The final test in unlock_and_deallocate() to determine if GIANT needs to be
unlocked wasn't updated to check for OBJ_NEEDGIANT. This caused a WITNESS panic when debug_mpsafevm was set to 0. Approved by: jeffr
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index 0ef7212..2c75f54 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -174,7 +174,7 @@ unlock_and_deallocate(struct faultstate *fs)
fs->vp = NULL;
VFS_UNLOCK_GIANT(vfslocked);
}
- if (!fs->map->system_map)
+ if (fs->first_object->flags & OBJ_NEEDGIANT)
VM_UNLOCK_GIANT();
}
OpenPOWER on IntegriCloud