syzbot


KASAN: use-after-free Read in ntfs_test_inode (3)

Status: upstream: reported on 2026/03/24 00:25
Reported-by: syzbot+13c551b604b60d334be3@syzkaller.appspotmail.com
First crash: 51d, last: 1d21h
Similar bugs (9)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-5.15 KASAN: use-after-free Read in ntfs_test_inode (2) 19 20 190d 626d 0/3 auto-obsoleted due to no activity on 2026/02/13 06:39
linux-6.1 KASAN: use-after-free Read in ntfs_test_inode (2) 19 16 9d07h 490d 0/3 upstream: reported on 2025/01/09 09:49
linux-4.19 KASAN: use-after-free Read in ntfs_test_inode 19 1 1262d 1262d 0/1 auto-obsoleted due to no activity on 2023/03/28 18:25
upstream KASAN: use-after-free Read in ntfs_test_inode ntfs3 19 C done 402 889d 1823d 25/29 fixed on 2023/12/21 01:43
linux-6.1 KASAN: use-after-free Read in ntfs_test_inode 19 2 780d 782d 0/3 auto-obsoleted due to no activity on 2024/07/03 10:22
linux-5.15 KASAN: use-after-free Read in ntfs_test_inode 19 6 946d 1146d 0/3 auto-obsoleted due to no activity on 2024/01/19 06:00
upstream KASAN: slab-use-after-free Read in ntfs_test_inode fs 19 5 855d 855d 0/29 auto-obsoleted due to no activity on 2024/04/18 20:01
linux-6.6 KASAN: slab-use-after-free Read in ntfs_test_inode 19 6 8d05h 114d 0/2 upstream: reported on 2026/01/20 09:45
linux-4.14 KASAN: slab-out-of-bounds Read in ntfs_test_inode 17 1 1547d 1547d 0/1 auto-closed as invalid on 2022/06/16 22:11

Sample crash report:
ntfs: (device loop4): ntfs_read_block(): Failed to read from inode 0xa, attribute type 0x80, vcn 0x1, offset 0x0 because its location on disk could not be determined even after retrying (error code -5).
ntfs: volume version 3.1.
==================================================================
BUG: KASAN: use-after-free in instrument_atomic_read include/linux/instrumented.h:71 [inline]
BUG: KASAN: use-after-free in test_bit include/asm-generic/bitops/instrumented-non-atomic.h:134 [inline]
BUG: KASAN: use-after-free in NInoAttr fs/ntfs/inode.h:200 [inline]
BUG: KASAN: use-after-free in ntfs_test_inode+0x79/0x2d0 fs/ntfs/inode.c:55
Read of size 8 at addr ffff88807582fec0 by task syz.4.3108/10898

CPU: 0 PID: 10898 Comm: syz.4.3108 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106
 print_address_description+0x60/0x2d0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:434 [inline]
 kasan_report+0xdf/0x130 mm/kasan/report.c:451
 check_region_inline mm/kasan/generic.c:-1 [inline]
 kasan_check_range+0x235/0x290 mm/kasan/generic.c:189
 instrument_atomic_read include/linux/instrumented.h:71 [inline]
 test_bit include/asm-generic/bitops/instrumented-non-atomic.h:134 [inline]
 NInoAttr fs/ntfs/inode.h:200 [inline]
 ntfs_test_inode+0x79/0x2d0 fs/ntfs/inode.c:55
 find_inode+0x19a/0x3f0 fs/inode.c:898
 ilookup5_nowait fs/inode.c:1450 [inline]
 ilookup5+0x9f/0x1f0 fs/inode.c:1479
 iget5_locked+0x30/0x250 fs/inode.c:1260
 ntfs_iget+0xb9/0x1a0 fs/ntfs/inode.c:168
 load_and_check_logfile+0x3f/0xd0 fs/ntfs/super.c:1208
 load_system_files+0x3a76/0x55a0 fs/ntfs/super.c:1941
 ntfs_fill_super+0x19e0/0x2c90 fs/ntfs/super.c:2894
 mount_bdev+0x287/0x3c0 fs/super.c:1400
 legacy_get_tree+0xe6/0x180 fs/fs_context.c:611
 vfs_get_tree+0x88/0x270 fs/super.c:1530
 do_new_mount+0x24a/0xa40 fs/namespace.c:3034
 do_mount fs/namespace.c:3377 [inline]
 __do_sys_mount fs/namespace.c:3585 [inline]
 __se_sys_mount+0x2e3/0x3d0 fs/namespace.c:3562
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f3c3c4c60ca
Code: 48 c7 c2 e8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f3c3a71de58 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f3c3a71dee0 RCX: 00007f3c3c4c60ca
RDX: 0000200000000100 RSI: 000020000001ecc0 RDI: 00007f3c3a71dea0
RBP: 0000200000000100 R08: 00007f3c3a71dee0 R09: 0000000000008000
R10: 0000000000008000 R11: 0000000000000246 R12: 000020000001ecc0
R13: 00007f3c3a71dea0 R14: 000000000001ec6b R15: 0000200000000140
 </TASK>

Allocated by task 4636:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track mm/kasan/common.c:46 [inline]
 set_alloc_info mm/kasan/common.c:434 [inline]
 __kasan_slab_alloc+0x9c/0xd0 mm/kasan/common.c:467
 kasan_slab_alloc include/linux/kasan.h:254 [inline]
 slab_post_alloc_hook+0x4c/0x380 mm/slab.h:519
 slab_alloc_node mm/slub.c:3225 [inline]
 slab_alloc mm/slub.c:3233 [inline]
 kmem_cache_alloc+0x100/0x290 mm/slub.c:3238
 kmem_cache_zalloc include/linux/slab.h:728 [inline]
 ext4_init_io_end+0x25/0x120 fs/ext4/page-io.c:278
 ext4_writepages+0xb39/0x2df0 fs/ext4/inode.c:2797
 do_writepages+0x476/0x6e0 mm/page-writeback.c:2386
 __writeback_single_inode+0x153/0xda0 fs/fs-writeback.c:1657
 writeback_sb_inodes+0xa4e/0x1680 fs/fs-writeback.c:1940
 __writeback_inodes_wb+0x12a/0x3f0 fs/fs-writeback.c:2011
 wb_writeback+0x46f/0xbe0 fs/fs-writeback.c:2116
 wb_check_old_data_flush fs/fs-writeback.c:2216 [inline]
 wb_do_writeback fs/fs-writeback.c:2269 [inline]
 wb_workfn+0xb15/0xf20 fs/fs-writeback.c:2298
 process_one_work+0x85f/0x1010 kernel/workqueue.c:2310
 worker_thread+0xaa6/0x1290 kernel/workqueue.c:2457
 kthread+0x436/0x520 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287

The buggy address belongs to the object at ffff88807582fea0
 which belongs to the cache ext4_io_end of size 64
The buggy address is located 32 bytes inside of
 64-byte region [ffff88807582fea0, ffff88807582fee0)
The buggy address belongs to the page:
page:ffffea0001d60bc0 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88807582f060 pfn:0x7582f
flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000200 ffffea0001d6bfc0 0000000200000002 ffff8881464cd640
raw: ffff88807582f060 00000000802a0000 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Reclaimable, gfp_mask 0x12cd0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY|__GFP_RECLAIMABLE), pid 4179, ts 58167289533, free_ts 21802832893
 prep_new_page mm/page_alloc.c:2426 [inline]
 get_page_from_freelist+0x1bbd/0x1ca0 mm/page_alloc.c:4192
 __alloc_pages+0x1ee/0x480 mm/page_alloc.c:5501
 alloc_slab_page mm/slub.c:1780 [inline]
 allocate_slab mm/slub.c:1917 [inline]
 new_slab+0xc0/0x4b0 mm/slub.c:1980
 ___slab_alloc+0x80a/0xdd0 mm/slub.c:3013
 __slab_alloc mm/slub.c:3100 [inline]
 slab_alloc_node mm/slub.c:3191 [inline]
 slab_alloc mm/slub.c:3233 [inline]
 kmem_cache_alloc+0x195/0x290 mm/slub.c:3238
 kmem_cache_zalloc include/linux/slab.h:728 [inline]
 ext4_init_io_end+0x25/0x120 fs/ext4/page-io.c:278
 ext4_writepages+0xa79/0x2df0 fs/ext4/inode.c:2780
 do_writepages+0x476/0x6e0 mm/page-writeback.c:2386
 filemap_fdatawrite_wbc+0x1eb/0x240 mm/filemap.c:400
 __filemap_fdatawrite_range mm/filemap.c:433 [inline]
 file_write_and_wait_range+0x14d/0x220 mm/filemap.c:810
 ext4_sync_file+0x1ff/0xae0 fs/ext4/fsync.c:151
 vfs_fsync_range fs/sync.c:188 [inline]
 vfs_fsync fs/sync.c:202 [inline]
 do_fsync fs/sync.c:212 [inline]
 __do_sys_fsync fs/sync.c:220 [inline]
 __se_sys_fsync fs/sync.c:218 [inline]
 __x64_sys_fsync+0x1a5/0x1e0 fs/sync.c:218
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1340 [inline]
 free_pcp_prepare mm/page_alloc.c:1391 [inline]
 free_unref_page_prepare+0x637/0x6c0 mm/page_alloc.c:3317
 free_unref_page+0x8f/0x2a0 mm/page_alloc.c:3396
 free_contig_range+0x96/0xf0 mm/page_alloc.c:9428
 destroy_args+0xf0/0xa00 mm/debug_vm_pgtable.c:1018
 debug_vm_pgtable+0x321/0x380 mm/debug_vm_pgtable.c:1336
 do_one_initcall+0x272/0x730 init/main.c:1316
 do_initcall_level+0x137/0x1f0 init/main.c:1389
 do_initcalls+0x4b/0x90 init/main.c:1405
 kernel_init_freeable+0x3e9/0x570 init/main.c:1629
 kernel_init+0x19/0x1b0 init/main.c:1520
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287

Memory state around the buggy address:
 ffff88807582fd80: fb fb fb fb fb fb fb fb fc fc fc fc fb fb fb fb
 ffff88807582fe00: fb fb fb fb fc fc fc fc fb fb fb fb fb fb fb fb
>ffff88807582fe80: fc fc fc fc fb fb fb fb fb fb fb fb fc fc fc fc
                                           ^
 ffff88807582ff00: fb fb fb fb fb fb fb fb fc fc fc fc fb fb fb fb
 ffff88807582ff80: fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/05/12 19:46 linux-5.15.y de8dfb3f0278 a0949470 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Read in ntfs_test_inode
2026/04/02 00:27 linux-5.15.y 91d48252ad4b 0cb124d5 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Read in ntfs_test_inode
2026/03/30 08:19 linux-5.15.y 91d48252ad4b dcaebc52 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Read in ntfs_test_inode
2026/03/24 00:24 linux-5.15.y 91d48252ad4b baf8bf12 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Read in ntfs_test_inode
* Struck through repros no longer work on HEAD.