aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/sys_process.c
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2019-07-08 19:46:20 +0000
committerMark Johnston <markj@FreeBSD.org>2019-07-08 19:46:20 +0000
commiteeacb3b02ff5e7dd916c852c69cf2839c0d33627 (patch)
treee482e7f7b0ba782bac82424cbd9c7fb5b41fc9f6 /sys/kern/sys_process.c
parente64f3dee49fac728bc39e2e39e5fbe9e07e4efcb (diff)
Notes
Diffstat (limited to 'sys/kern/sys_process.c')
-rw-r--r--sys/kern/sys_process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/kern/sys_process.c b/sys/kern/sys_process.c
index 92489429f860..b9649ee8053a 100644
--- a/sys/kern/sys_process.c
+++ b/sys/kern/sys_process.c
@@ -307,7 +307,8 @@ proc_rwmem(struct proc *p, struct uio *uio)
* Release the page.
*/
vm_page_lock(m);
- vm_page_unhold(m);
+ if (vm_page_unwire(m, PQ_ACTIVE) && m->object == NULL)
+ vm_page_free(m);
vm_page_unlock(m);
} while (error == 0 && uio->uio_resid > 0);