syzbot


UBSAN: array-index-out-of-bounds in truncate_inode_pages_final

Status: upstream: reported C repro on 2023/07/09 12:32
Subsystems: ntfs3
[Documentation on labels]
Reported-by: syzbot+e295147e14b474e4ad70@syzkaller.appspotmail.com
First crash: 157d, last: 78d
Discussions (3)
Title Replies (including bot) Last reply
[PATCH] pagevec: Add remaining space check before adding folio to batch. 2 (2) 2023/10/03 11:40
pagevec: Fix array-index-out-of-bounds error 3 (3) 2023/08/25 02:05
[syzbot] [ntfs3?] UBSAN: array-index-out-of-bounds in truncate_inode_pages_final 0 (2) 2023/08/23 13:14
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-6.1 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final origin:upstream C 5 12d 147d 0/3 upstream: reported C repro on 2023/07/15 18:53
upstream BUG: unable to handle kernel NULL pointer dereference in truncate_inode_pages_final ntfs3 1 438d 434d 0/25 auto-obsoleted due to no activity on 2023/01/25 10:14
Last patch testing requests (14)
Created Duration User Patch Repo Result
2023/11/17 05:34 24m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci OK log
2023/11/01 22:36 30m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci OK log
2023/10/06 22:41 25m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci OK log
2023/09/08 04:05 29m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci report log
2023/08/31 15:25 32m rauji.raut@gmail.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git v6.5 report log
2023/08/30 21:03 21m rauji.raut@gmail.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git v6.5-rc7 report log
2023/08/27 01:33 8m rauji.raut@gmail.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git v6.5-rc7 error OK
2023/08/25 04:09 26m rauji.raut@gmail.com https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git v6.5-rc7 report log
2023/08/25 01:02 30m rauji.raut@gmail.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git v6.5-rc7 report log
2023/08/24 20:09 2h59m rauji.raut@gmail.com patch https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git v6.5-rc7 OK log
2023/08/24 09:52 1h04m coolrrsh@gmail.com patch git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci report log
2023/08/24 04:58 7m coolrrsh@gmail.com patch git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci error OK
2023/08/23 20:25 26m coolrrsh@gmail.com git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci report log
2023/08/23 18:44 2h20m coolrrsh@gmail.com patch git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci error OK

Sample crash report:
loop5: detected capacity change from 0 to 4096
ntfs3: loop5: Different NTFS sector size (1024) and media sector size (512).
================================================================================
UBSAN: array-index-out-of-bounds in ./include/linux/pagevec.h:74:2
index 255 is out of range for type 'struct folio *[15]'
CPU: 1 PID: 8903 Comm: syz-executor208 Not tainted 6.5.0-rc7-syzkaller-gfe4469582053 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/04/2023
Call trace:
 dump_backtrace+0x1b8/0x1e4 arch/arm64/kernel/stacktrace.c:233
 show_stack+0x2c/0x44 arch/arm64/kernel/stacktrace.c:240
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd0/0x124 lib/dump_stack.c:106
 dump_stack+0x1c/0x28 lib/dump_stack.c:113
 ubsan_epilogue lib/ubsan.c:217 [inline]
 __ubsan_handle_out_of_bounds+0xfc/0x148 lib/ubsan.c:348
 folio_batch_add include/linux/pagevec.h:74 [inline]
 find_lock_entries+0x8fc/0xd84 mm/filemap.c:2089
 truncate_inode_pages_range+0x1b0/0xf74 mm/truncate.c:364
 truncate_inode_pages mm/truncate.c:449 [inline]
 truncate_inode_pages_final+0x90/0xc0 mm/truncate.c:484
 ntfs_evict_inode+0x20/0x48 fs/ntfs3/inode.c:1790
 evict+0x260/0x68c fs/inode.c:664
 iput_final fs/inode.c:1788 [inline]
 iput+0x734/0x818 fs/inode.c:1814
 ntfs_fill_super+0x3648/0x3f90 fs/ntfs3/super.c:1420
 get_tree_bdev+0x378/0x570 fs/super.c:1318
 ntfs_fs_get_tree+0x28/0x38 fs/ntfs3/super.c:1647
 vfs_get_tree+0x90/0x274 fs/super.c:1519
 do_new_mount+0x25c/0x8c8 fs/namespace.c:3335
 path_mount+0x590/0xe04 fs/namespace.c:3662
 do_mount fs/namespace.c:3675 [inline]
 __do_sys_mount fs/namespace.c:3884 [inline]
 __se_sys_mount fs/namespace.c:3861 [inline]
 __arm64_sys_mount+0x45c/0x594 fs/namespace.c:3861
 __invoke_syscall arch/arm64/kernel/syscall.c:37 [inline]
 invoke_syscall+0x98/0x2b8 arch/arm64/kernel/syscall.c:51
 el0_svc_common+0x130/0x23c arch/arm64/kernel/syscall.c:136
 do_el0_svc+0x48/0x58 arch/arm64/kernel/syscall.c:155
 el0_svc+0x58/0x16c arch/arm64/kernel/entry-common.c:678
 el0t_64_sync_handler+0x84/0xfc arch/arm64/kernel/entry-common.c:696
 el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591
================================================================================

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/09/22 22:24 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci fe4469582053 0b6a67ac .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final
2023/08/23 13:13 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 35e2132122ba b81ca3f6 .config console log report syz C [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final
2023/07/05 12:24 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci e40939bbfc68 80298b6f .config console log report syz [disk image] [vmlinux] [kernel image] [mounted in repro] ci-upstream-gce-arm64 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final
2023/08/23 08:40 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 35e2132122ba b81ca3f6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final
2023/08/18 02:39 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci ac9847efd629 74b106b6 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final
2023/08/08 18:05 git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-kernelci 86d7896480b0 3c27dfcd .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-gce-arm64 UBSAN: array-index-out-of-bounds in truncate_inode_pages_final
* Struck through repros no longer work on HEAD.