linux/fs/ntfs
Namjae Jeon 36ee131319 ntfs: use page allocation for resident attribute inline data
The current kmemdup() based allocation for IOMAP_INLINE can result in
inline_data pointer having a non-zero page offset. This causes
iomap_inline_data_valid() to fail the check:

    iomap->length <= PAGE_SIZE - offset_in_page(iomap->inline_data)

and triggers the kernel BUG at fs/iomap/buffered-io.c:1061.

This particularly affects workloads with frequent small file access
(e.g. Firefox Nightly profile on NTFS with bind mount) when using the
new ntfs. This fix this by allocating a full page with alloc_page() so that
page_address() always returns a page-aligned address.

Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
History 2026-04-22 19:05:07 +09:00
..
aops.c ntfs: remove noop_direct_IO from address_space_operations 2026-04-18 11:33:03 +09:00
attrib.c ntfs: fix uninitialized variable in ntfs_map_runlist_nolock 2026-04-18 11:33:19 +09:00
attrib.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
attrlist.c ntfs: update attrib operations 2026-02-19 21:50:50 +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: update misc operations 2026-02-19 21:50:56 +09:00
bitmap.c ntfs: use ->mft_no instead of ->i_ino in prints 2026-03-06 22:08:42 +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: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
dir.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
ea.c ntfs: fix uninitialized variables in ntfs_ea_set_wsl_inode() 2026-04-18 11:33:09 +09:00
ea.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
file.c ntfs: fix mmap_prepare writable check for shared mappings 2026-04-22 18:33:15 +09:00
index.c ntfs: fix inconsistent indenting warnings 2026-03-16 20:27:49 +09:00
index.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
inode.c ntfs: remove redundant out-of-bound checks 2026-04-07 18:36:13 +09:00
inode.h ntfs: change mft_no type to u64 2026-03-06 22:08:39 +09:00
iomap.c ntfs: use page allocation for resident attribute inline data 2026-04-22 19:05:07 +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: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +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: update misc operations 2026-02-19 21:50:56 +09:00
logfile.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
Makefile ntfs: add Kconfig and Makefile 2026-02-19 21:51:00 +09:00
malloc.h Revert "fs: Remove NTFS classic" 2026-02-19 21:48:05 +09:00
mft.c ntfs: add missing error code in ntfs_mft_record_alloc() 2026-04-18 11:33:13 +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: remove redundant out-of-bound checks 2026-04-07 18:36:13 +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
quota.c ntfs: update misc operations 2026-02-19 21:50:56 +09:00
quota.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
reparse.c ntfs: add bound checking to ntfs_attr_find 2026-04-07 18:36:05 +09:00
reparse.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
runlist.c ntfs: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
runlist.h ntfs: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00
super.c ntfs: remove redundant out-of-bound checks 2026-04-07 18:36:13 +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: update in-memory, on-disk structures and headers 2026-02-19 21:48:06 +09:00