diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2019-12-22 20:35:50 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2019-12-22 20:35:50 +0000 |
commit | 419f0b1f950b6f970c70c672f5e67f8b735fa856 (patch) | |
tree | 37b1df106096062af13ea3bfeff4235a3218b268 | |
parent | cd0c3137f8a21968ce147251633b8dbdde8829e7 (diff) | |
download | src-419f0b1f950b6f970c70c672f5e67f8b735fa856.tar.gz src-419f0b1f950b6f970c70c672f5e67f8b735fa856.zip |
Fix a bug introduced in r356002. Prior versions of this patchset had
vm_page_remove() rather than !vm_page_wired() as the condition for free.
When this changed back to wired the busy lock was leaked.
Reported by: pho
Reviewed by: markj
Notes
Notes:
svn path=/head/; revision=356026
-rw-r--r-- | sys/vm/vm_fault.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 3ed135fd8b5b..e18ef303d362 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -180,6 +180,8 @@ fault_page_free(vm_page_t *mp) VM_OBJECT_ASSERT_WLOCKED(m->object); if (!vm_page_wired(m)) vm_page_free(m); + else + vm_page_xunbusy(m); *mp = NULL; } } |