summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-01-06 11:46:24 +0000
committerkib <kib@FreeBSD.org>2017-01-06 11:46:24 +0000
commit7fda61f5af82b02d1a68155c7849ecbd9b4c06d6 (patch)
tree1867e15bfacdf2ee9ad0acbdb7f88b777d6e8b5c
parentae38043312f07747f62c4d1a681130f8e4aff1c1 (diff)
downloadFreeBSD-src-7fda61f5af82b02d1a68155c7849ecbd9b4c06d6.zip
FreeBSD-src-7fda61f5af82b02d1a68155c7849ecbd9b4c06d6.tar.gz
MFC r310834:
Assert that the pages found on the object queue by vm_page_next() and vm_page_prev() have correct ownership.
-rw-r--r--sys/vm/vm_page.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index dec3e4d..b4b4256 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -1327,9 +1327,11 @@ vm_page_next(vm_page_t m)
vm_page_t next;
VM_OBJECT_ASSERT_LOCKED(m->object);
- if ((next = TAILQ_NEXT(m, listq)) != NULL &&
- next->pindex != m->pindex + 1)
- next = NULL;
+ if ((next = TAILQ_NEXT(m, listq)) != NULL) {
+ MPASS(next->object == m->object);
+ if (next->pindex != m->pindex + 1)
+ next = NULL;
+ }
return (next);
}
@@ -1345,9 +1347,11 @@ vm_page_prev(vm_page_t m)
vm_page_t prev;
VM_OBJECT_ASSERT_LOCKED(m->object);
- if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL &&
- prev->pindex != m->pindex - 1)
- prev = NULL;
+ if ((prev = TAILQ_PREV(m, pglist, listq)) != NULL) {
+ MPASS(prev->object == m->object);
+ if (prev->pindex != m->pindex - 1)
+ prev = NULL;
+ }
return (prev);
}
OpenPOWER on IntegriCloud