Do not leak vm page lock in vm_contig_launder(), vm_pageout_page_lock()

always returns with the page locked.

Submitted by:	alc
Pointy hat to:	kib
This commit is contained in:
Konstantin Belousov 2010-06-03 18:34:34 +00:00
parent d05becf2b6
commit 4d65036b4f

View File

@ -168,8 +168,10 @@ vm_contig_launder(int queue)
if ((m->flags & PG_MARKER) != 0)
continue;
if (!vm_pageout_page_lock(m, &next))
if (!vm_pageout_page_lock(m, &next)) {
vm_page_unlock(m);
continue;
}
KASSERT(VM_PAGE_INQUEUE2(m, queue),
("vm_contig_launder: page %p's queue is not %d", m, queue));
error = vm_contig_launder_page(m, &next);