On Wed, Nov 08, 2017 at 05:42:26PM +0100, Jan Kara wrote: > Patch "mm, truncate: remove all exceptional entries from pagevec" had a > problem that truncate_exceptional_pvec_entries() didn't remove exceptional > entries that were beyond end of truncated range from the pagevec. As a result > pagevec_release() oopsed trying to treat exceptional entry as a page pointer. > This can be reproduced by running xfstests generic/269 in a loop while > applying memory pressure until the bug triggers. > > Rip out fragile passing of index of the first exceptional entry in the > pagevec and scan the full pagevec instead. Additional pagevec pass doesn't > have measurable overhead and the code is more robust that way. > > This is a fix to the mmotm patch > mm-truncate-remove-all-exceptional-entries-from-pagevec-under-one-lock.patch > > Signed-off-by: Jan Kara <jack@xxxxxxx> > Acked-by: Mel Gorman <mgorman@xxxxxxxx> -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>