summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_kern.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2015-10-06 05:49:00 +0000
committeralc <alc@FreeBSD.org>2015-10-06 05:49:00 +0000
commit945e362d2bdc9f7cc475b22a4d5eca8bb5b0e707 (patch)
treedbe6b449781164017d1748fbc3d79904e82131cc /sys/vm/vm_kern.c
parente8432e552902a6b0c09793be662ec5c08551e017 (diff)
downloadFreeBSD-src-945e362d2bdc9f7cc475b22a4d5eca8bb5b0e707.zip
FreeBSD-src-945e362d2bdc9f7cc475b22a4d5eca8bb5b0e707.tar.gz
Exploit r288122 to address a cosmetic issue. Pages belonging to either
the kernel or kmem object can't be paged out. Since they can't be paged out, they are never enqueued in a paging queue. Nonetheless, passing PQ_INACTIVE to vm_page_unwire() in kmem_unback() creates the appearance that these pages are being enqueued in the inactive queue. As of r288122, we can avoid giving this false impression by passing PQ_NONE. Submitted by: kmacy Differential Revision: https://reviews.freebsd.org/D1674
Diffstat (limited to 'sys/vm/vm_kern.c')
-rw-r--r--sys/vm/vm_kern.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/vm/vm_kern.c b/sys/vm/vm_kern.c
index f0aacf1..a636d74 100644
--- a/sys/vm/vm_kern.c
+++ b/sys/vm/vm_kern.c
@@ -386,7 +386,7 @@ kmem_unback(vm_object_t object, vm_offset_t addr, vm_size_t size)
VM_OBJECT_WLOCK(object);
for (i = 0; i < size; i += PAGE_SIZE) {
m = vm_page_lookup(object, OFF_TO_IDX(offset + i));
- vm_page_unwire(m, PQ_INACTIVE);
+ vm_page_unwire(m, PQ_NONE);
vm_page_free(m);
}
VM_OBJECT_WUNLOCK(object);
OpenPOWER on IntegriCloud