From ce92d008f0154110e3b27d7942efd41e8af7c7af Mon Sep 17 00:00:00 2001 From: kib Date: Fri, 6 Jan 2017 12:11:16 +0000 Subject: [PATCH] MFC r310834: Assert that the pages found on the object queue by vm_page_next() and vm_page_prev() have correct ownership. git-svn-id: svn://svn.freebsd.org/base/stable/10@311515 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/vm/vm_page.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c index b688b564f..106557c60 100644 --- a/sys/vm/vm_page.c +++ b/sys/vm/vm_page.c @@ -1175,9 +1175,11 @@ vm_page_next(vm_page_t m) vm_page_t next; VM_OBJECT_ASSERT_WLOCKED(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); } @@ -1193,9 +1195,11 @@ vm_page_prev(vm_page_t m) vm_page_t prev; VM_OBJECT_ASSERT_WLOCKED(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); } -- 2.45.2