Properly dispose of page in sf_buf_mfree(), #2.
authorVenkatesh Srinivas <me@endeavour.zapto.org>
Sat, 24 Dec 2011 08:41:28 +0000 (00:41 -0800)
committerVenkatesh Srinivas <me@endeavour.zapto.org>
Sat, 24 Dec 2011 08:41:28 +0000 (00:41 -0800)
sf_buf_mfree() had a wakeup before it attempted to free a page or wake it up
again. Neither are allowed, as the first wakeup unsets the page BUSY.
Follow on to commit 8c3e9928c907

Reported-by: lentferj
sys/kern/uipc_syscalls.c

index baeb7b1..443252d 100644 (file)
@@ -1412,7 +1412,6 @@ sf_buf_mfree(void *arg)
                /* sf invalid now */
                vm_page_busy_wait(m, FALSE, "sockpgf");
                vm_page_unwire(m, 0);
-               vm_page_wakeup(m);
                if (m->wire_count == 0 && m->object == NULL) {
                        vm_page_free(m);
                } else {