syzbot


KCSAN: data-race in find_get_block_common / has_bh_in_lru

Status: moderation: reported on 2025/04/26 16:25
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+a4a07f98f629cf636e9e@syzkaller.appspotmail.com
First crash: 7d16h, last: 5h19m

Sample crash report:
==================================================================
BUG: KCSAN: data-race in find_get_block_common / has_bh_in_lru

read-write to 0xffff888237c26b70 of 8 bytes by task 5575 on cpu 0:
 bh_lru_install fs/buffer.c:1350 [inline]
 find_get_block_common+0x4f0/0x960 fs/buffer.c:1415
 __find_get_block_nonatomic fs/buffer.c:1434 [inline]
 bdev_getblk+0x7f/0x3d0 fs/buffer.c:1458
 __getblk include/linux/buffer_head.h:382 [inline]
 sb_getblk include/linux/buffer_head.h:388 [inline]
 __ext4_get_inode_loc+0x303/0x930 fs/ext4/inode.c:4455
 ext4_get_inode_loc fs/ext4/inode.c:4583 [inline]
 ext4_reserve_inode_write+0xdb/0x230 fs/ext4/inode.c:5889
 __ext4_mark_inode_dirty+0x8c/0x3f0 fs/ext4/inode.c:6066
 ext4_ext_truncate+0x5a/0x170 fs/ext4/extents.c:4457
 ext4_truncate+0x6f8/0xac0 fs/ext4/inode.c:4232
 ext4_truncate_failed_write fs/ext4/truncate.h:22 [inline]
 ext4_write_end+0x44b/0x730 fs/ext4/inode.c:1347
 ext4_da_write_end+0x71/0x7b0 fs/ext4/inode.c:3079
 generic_perform_write+0x30f/0x490 mm/filemap.c:4124
 ext4_buffered_write_iter+0x1ee/0x3c0 fs/ext4/file.c:299
 ext4_dio_write_iter fs/ext4/file.c:608 [inline]
 ext4_file_write_iter+0xdbf/0xf00 fs/ext4/file.c:716
 do_iter_readv_writev+0x41e/0x4c0 fs/read_write.c:-1
 vfs_writev+0x2c9/0x870 fs/read_write.c:1055
 do_pwritev fs/read_write.c:1151 [inline]
 __do_sys_pwritev2 fs/read_write.c:1209 [inline]
 __se_sys_pwritev2+0xfc/0x1c0 fs/read_write.c:1200
 __x64_sys_pwritev2+0x67/0x80 fs/read_write.c:1200
 x64_sys_call+0x1cea/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:329
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888237c26b70 of 8 bytes by task 3304 on cpu 1:
 has_bh_in_lru+0x35/0x1f0 fs/buffer.c:1556
 smp_call_function_many_cond+0x394/0xb20 kernel/smp.c:838
 on_each_cpu_cond_mask+0x3c/0x80 kernel/smp.c:1052
 on_each_cpu_cond include/linux/smp.h:105 [inline]
 invalidate_bh_lrus+0x2a/0x30 fs/buffer.c:1565
 kill_bdev block/bdev.c:90 [inline]
 blkdev_flush_mapping+0x9a/0x1a0 block/bdev.c:712
 blkdev_put_whole block/bdev.c:719 [inline]
 bdev_release+0x2bf/0x3d0 block/bdev.c:1144
 blkdev_release+0x15/0x20 block/fops.c:660
 __fput+0x298/0x650 fs/file_table.c:465
 ____fput+0x1c/0x30 fs/file_table.c:493
 task_work_run+0x12e/0x1a0 kernel/task_work.c:227
 resume_user_mode_work+0x6a/0x70 include/linux/resume_user_mode.h:50
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0x77/0xb0 kernel/entry/common.c:218
 do_syscall_64+0xdd/0x1a0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000000000 -> 0xffff88811ad333a8

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3304 Comm: syz-executor Not tainted 6.15.0-rc4-syzkaller-00291-g2a239ffbebb5 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/04 03:49 upstream 2a239ffbebb5 b0714e37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/05/02 23:06 upstream 2bfcee565c3a b0714e37 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/05/02 14:24 upstream ebd297a2affa d7f099d1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/05/01 19:57 upstream 4f79eaa2ceac 51b137cd .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/05/01 00:51 upstream 7a13c14ee59d ce7952f4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/29 19:16 upstream ca91b9500108 85a5a23f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/29 12:36 upstream ca91b9500108 aeb6ec69 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/29 12:29 upstream ca91b9500108 aeb6ec69 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/29 01:07 upstream f15d97df5afa aeb6ec69 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/28 09:21 upstream b4432656b36e c6b4fb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/27 00:33 upstream 5bc1018675ec c6b4fb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
2025/04/26 16:25 upstream f1a3944c860b c6b4fb39 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in find_get_block_common / has_bh_in_lru
* Struck through repros no longer work on HEAD.