]> www.infradead.org Git - users/jedix/linux-maple.git/commit
mm/filemap: gate dropbehind invalidate on folio !dirty && !writeback
authorJens Axboe <axboe@kernel.dk>
Tue, 27 May 2025 13:28:52 +0000 (07:28 -0600)
committerChristian Brauner <brauner@kernel.org>
Tue, 27 May 2025 19:06:24 +0000 (21:06 +0200)
commit095f627add86a6ddda2c2cfd563b0ee05d0172b2
treed8d21d57e987bffd142297322a2e234ab9f4072c
parent015a99fa76650e7d6efa3e36f20c0f5b346fe9ce
mm/filemap: gate dropbehind invalidate on folio !dirty && !writeback

It's possible for the folio to either get marked for writeback or
redirtied. Add a helper, filemap_end_dropbehind(), which guards the
folio_unmap_invalidate() call behind check for the folio being both
non-dirty and not under writeback AFTER the folio lock has been
acquired. Use this helper folio_end_dropbehind_write().

Cc: stable@vger.kernel.org
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Fixes: fb7d3bc41493 ("mm/filemap: drop streaming/uncached pages when writeback completes")
Link: https://lore.kernel.org/linux-fsdevel/20250525083209.GS2023217@ZenIV/
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/20250527133255.452431-2-axboe@kernel.dk
Signed-off-by: Christian Brauner <brauner@kernel.org>
mm/filemap.c