diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index 561a5d8b58d..d55530905f6 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1656,9 +1656,9 @@ vm_page_cowfault(vm_page_t m) object = m->object; pindex = m->pindex; - vm_page_busy(m); retry_alloc: + vm_page_busy(m); vm_page_remove(m); mnew = vm_page_alloc(object, pindex, VM_ALLOC_NORMAL); if (mnew == NULL) { @@ -1677,7 +1677,6 @@ vm_page_cowfault(vm_page_t m) * waiting to allocate a page. If so, put things back * the way they were */ - vm_page_busy(mnew); vm_page_free(mnew); vm_page_insert(m, object, pindex); } else { /* clear COW & copy page */