summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorChris Mason <mason@kernel.org>2026-10-29 11:43:28 +0100
committerDavid Hildenbrand (Arm) <david@kernel.org>2026-11-02 11:21:28 +0100
commita842a1f947da8a7020e72f885ffbf2ce6a93685f (patch)
treecc0866c8bbedceb4ff4055afd25e142fd3796824 /tools/lib/python
parent8f59173b5ca358bf4d1017b44da3cbe6faa80daf (diff)
mm/shmem: stop retrying folios that cannot be split
A fault or collapse can insert a large folio crossing EOF after shmem_undo_range() has handled the boundary folios. If splitting that folio fails, truncate_inode_partial_folio() retains it when it is dirty. The final scan then repeatedly finds it because it restarts from an unchanged start. Truncation keeps the inode lock and ignores fatal signals while looping. A concurrent unlink() can then block other directory operations while holding the directory lock and waiting for the file's lock. Advance start past the retained folio, whose truncated part has already been zeroed. Do not move start backwards if the failed split has shrunk the folio. Fix generated by an LLM and sent by Chris Mason in private. Fixes: 55ac8bbe358b ("mm/shmem: fix race in shmem_undo_range w/THP") Cc: stable@vger.kernel.org Signed-off-by: Chris Mason <mason@kernel.org> Tested-by: Gregory Price (Meta) <gourry@gourry.net> [ david: split fixes, simplify descriptions, adjust comments ] Reviewed-by: Zi Yan <ziy@nvidia.com> Reviewed-by: Balbir Singh <balbirs@nvidia.com> Link: https://patch.msgid.link/20261029-fixes_shmem-v4-7-392fc715d8f6@kernel.org Signed-off-by: David Hildenbrand (Arm) <david@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions