svn commit: r310834 - head/sys/vm
Konstantin Belousov
kib at FreeBSD.org
Fri Dec 30 17:37:07 UTC 2016
Author: kib
Date: Fri Dec 30 17:37:06 2016
New Revision: 310834
URL: https://svnweb.freebsd.org/changeset/base/310834
Log:
Assert that the pages found on the object queue by vm_page_next() and
vm_page_prev() have correct ownership.
In collaboration with: alc
Sponsored by: The FreeBSD Foundation (kib)
MFC after: 1 week
Modified:
head/sys/vm/vm_page.c
Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c Fri Dec 30 17:36:08 2016 (r310833)
+++ head/sys/vm/vm_page.c Fri Dec 30 17:37:06 2016 (r310834)
@@ -1328,9 +1328,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);
}
@@ -1346,9 +1348,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);
}
More information about the svn-src-head
mailing list