mirror-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>
2026-04-22 19:05:07 +09:00
..
Kconfig ntfs: select FS_IOMAP in Kconfig 2026-03-05 17:37:02 +09:00
Makefile
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
attrlist.c
attrlist.h
bdev-io.c
bitmap.c ntfs: use ->mft_no instead of ->i_ino in prints 2026-03-06 22:08:42 +09:00
bitmap.h
collate.c
collate.h
compress.c ntfs: fix potential 32-bit truncation in ntfs_write_cb() 2026-04-18 11:33:21 +09:00
debug.c
debug.h
dir.c ntfs: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
dir.h
ea.c ntfs: fix uninitialized variables in ntfs_ea_set_wsl_inode() 2026-04-18 11:33:09 +09:00
ea.h
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
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
layout.h
lcnalloc.c ntfs: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
lcnalloc.h
logfile.c
logfile.h
malloc.h
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
namei.c ntfs: remove redundant out-of-bound checks 2026-04-07 18:36:13 +09:00
ntfs.h
object_id.c
object_id.h
quota.c
quota.h
reparse.c ntfs: add bound checking to ntfs_attr_find 2026-04-07 18:36:05 +09:00
reparse.h
runlist.c ntfs: fix variable dereferenced before check warnings 2026-03-16 20:27:45 +09:00
runlist.h
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
time.h
unistr.c
upcase.c
volume.h