linux/fs/ntfs
Namjae Jeon 4e646ecd44 ntfs: drop stale page-cache when shrinking a non-resident attr
ntfs_non_resident_attr_shrink() shrinks attribute sizes but fails to
trim the page cache. This leaves orphaned dirty folios beyond the new
end of the attribute, leading to writeback failures (-ENOENT), data
loss, and $EA chain corruption.

Fix this by truncating the page cache to the new size immediately after
updating the sizes, preventing writeback from flushing out-of-range folios.

Fixes: 495e90fa33 ("ntfs: update attrib operations")
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2026-07-21 18:48:24 +09:00
..
aops.c Description for this pull request: 2026-07-10 18:20:15 -07:00
attrib.c ntfs: drop stale page-cache when shrinking a non-resident attr 2026-07-21 18:48:24 +09:00
attrib.h ntfs: validate resident attribute lists and harden the validator 2026-06-08 22:57:55 +09:00
attrlist.c ntfs: fail attrlist updates when the superblock is inactive 2026-07-06 20:27:18 +09:00
attrlist.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
bdev-io.c ntfs: fix copy length in ntfs_bdev_write() for non-page-aligned start 2026-05-08 23:50:53 +09:00
bitmap.c ntfs: fix invalid PTR_ERR() usage in __ntfs_bitmap_set_bits_in_run() 2026-04-28 21:59:59 +09:00
bitmap.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
collate.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
collate.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
compress.c ntfs: fix potential 32-bit truncation in ntfs_write_cb() 2026-04-18 11:33:21 +09:00
debug.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
debug.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
dir.c ntfs: sanitize MFT references returned from ntfs_lookup_inode_by_name() 2026-07-06 20:27:16 +09:00
dir.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
ea.c ntfs: add bounds check before accessing EA entries 2026-06-06 00:19:59 +09:00
ea.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
file.c ntfs: add native_symlink mount option 2026-06-15 19:39:39 +09:00
index.c ntfs: avoid calling post_write_mst_fixup() for invalid index_block 2026-07-06 20:27:13 +09:00
index.h ntfs: validate index entries on reading 2026-06-06 00:19:56 +09:00
inode.c ntfs: make system files immutable to prevent corruption 2026-07-06 20:26:03 +09:00
inode.h ntfs: support following Windows native symlink with absolute paths 2026-06-15 19:39:37 +09:00
iomap.c ntfs: use direct pointer for inline data to avoid redundant allocation 2026-06-09 21:51:02 +09:00
iomap.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
Kconfig ntfs: select FS_IOMAP in Kconfig 2026-03-05 17:37:02 +09:00
layout.h ntfs: support following Windows native symlink with absolute paths 2026-06-15 19:39:37 +09:00
lcnalloc.c ntfs: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
lcnalloc.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
logfile.c ntfs: fix u16 truncation of restart-area length check 2026-06-08 23:04:17 +09:00
logfile.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
Makefile ntfs: remove unsupported quota handling 2026-06-06 00:20:03 +09:00
malloc.h Revert "fs: Remove NTFS classic" 2026-02-19 21:48:05 +09:00
mft.c ntfs: avoid stale runlist element dereference in MFT writeback 2026-06-25 23:12:02 +09:00
mft.h ntfs: change mft_no type to u64 2026-03-06 22:08:39 +09:00
mst.c ntfs: update mft operations 2026-02-19 21:48:07 +09:00
namei.c ntfs: preserve RECALL_ON_OPEN on WSL special-file reparse points 2026-07-18 10:10:22 +09:00
ntfs.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
object_id.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
object_id.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
reparse.c ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
reparse.h ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
runlist.c ntfs: harden runlist realloc size calculations 2026-07-21 18:48:24 +09:00
runlist.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
super.c ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00
sysctl.c ntfs: fix sysctl table registration and path 2026-03-01 14:53:37 +09:00
sysctl.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
time.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
unistr.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
upcase.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
volume.h ntfs: support creating Windows native symlinks 2026-06-15 19:39:43 +09:00