Date: Sat, 14 Oct 2006 23:21:48 +0000 (UTC) From: Alan Cox <alc@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/vm vnode_pager.c Message-ID: <200610142321.k9ENLmK3032737@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
alc 2006-10-14 23:21:48 UTC
FreeBSD src repository
Modified files:
sys/vm vnode_pager.c
Log:
Long ago, revision 1.22 of vm/vm_pager.h introduced a bug. Specifically,
it introduced a check after the call to file system's get pages method
that assumes that the get pages method does not change the array of pages
that is passed to it. In the case of vnode_pager_generic_getpages(),
this assumption has been incorrect. The contents of the array of pages
may be shifted by vnode_pager_generic_getpages(). Likely, the problem
has been hidden by vnode_pager_haspage() limiting the set of pages that
are passed to vnode_pager_generic_getpages() such that a shift never
occurs.
The fix implemented herein is to adjust the pointer to the array of pages
rather than shifting the pages within the array.
MFC after: 3 weeks
Fix suggested by: tegge
Revision Changes Path
1.232 +1 -3 src/sys/vm/vnode_pager.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610142321.k9ENLmK3032737>
