From aa05e418024bc38dc764d95b3078aa0fd2057798 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Thu, 22 Dec 2011 11:43:26 -0800 Subject: [PATCH] kernel - Properly dispose of vm_page_t in sf_buf_mfree() * Properly dispose of vm_page_t in sf_buf_mfree(), used by sendfile() * Should fix a VM page delete/free panic. Reported-by: sephe --- sys/kern/uipc_syscalls.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index bcbedfa04a..baeb7b15ce 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -1413,8 +1413,11 @@ sf_buf_mfree(void *arg) 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_try_to_free(m); + if (m->wire_count == 0 && m->object == NULL) { + vm_page_free(m); + } else { + vm_page_wakeup(m); + } } } -- 2.41.0