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: 15d, last: 11h31m

Sample crash report:
EXT4-fs (loop1): unmounting filesystem 00000000-0000-0000-0000-000000000000.
==================================================================
BUG: KCSAN: data-race in find_get_block_common / has_bh_in_lru

read-write to 0xffff888237c26b70 of 8 bytes by task 5876 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_dirty_inode+0x92/0xc0 fs/ext4/inode.c:6103
 __mark_inode_dirty+0x15c/0x760 fs/fs-writeback.c:2527
 generic_update_time fs/inode.c:2064 [inline]
 inode_update_time fs/inode.c:2077 [inline]
 __file_update_time fs/inode.c:2305 [inline]
 file_modified_flags+0x324/0x350 fs/inode.c:2376
 file_modified+0x17/0x20 fs/inode.c:2392
 ext4_dio_write_checks fs/ext4/file.c:486 [inline]
 ext4_dio_write_iter fs/ext4/file.c:552 [inline]
 ext4_file_write_iter+0x9b1/0xf00 fs/ext4/file.c:716
 iter_file_splice_write+0x5ef/0x970 fs/splice.c:738
 do_splice_from fs/splice.c:935 [inline]
 direct_splice_actor+0x153/0x2a0 fs/splice.c:1158
 splice_direct_to_actor+0x30f/0x680 fs/splice.c:1102
 do_splice_direct_actor fs/splice.c:1201 [inline]
 do_splice_direct+0xda/0x150 fs/splice.c:1227
 do_sendfile+0x380/0x640 fs/read_write.c:1368
 __do_sys_sendfile64 fs/read_write.c:1429 [inline]
 __se_sys_sendfile64 fs/read_write.c:1415 [inline]
 __x64_sys_sendfile64+0x105/0x150 fs/read_write.c:1415
 x64_sys_call+0xb39/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:41
 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 30209 on cpu 1:
 has_bh_in_lru+0x35/0x1f0 fs/buffer.c:1556
 cpu_needs_drain mm/swap.c:780 [inline]
 __lru_add_drain_all+0x234/0x3f0 mm/swap.c:867
 lru_add_drain_all+0x10/0x20 mm/swap.c:883
 invalidate_bdev+0x47/0x70 block/bdev.c:101
 ext4_put_super+0x624/0x7d0 fs/ext4/super.c:1343
 generic_shutdown_super+0xe3/0x210 fs/super.c:642
 kill_block_super+0x2a/0x70 fs/super.c:1710
 ext4_kill_sb+0x42/0x80 fs/ext4/super.c:7393
 deactivate_locked_super+0x72/0x1c0 fs/super.c:473
 deactivate_super+0x97/0xa0 fs/super.c:506
 cleanup_mnt+0x269/0x2e0 fs/namespace.c:1431
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1438
 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 -> 0xffff888106f0baf8

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

Crashes (22):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/11 15:49 upstream 3ce9925823c7 77908e5f .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/10 06:05 upstream 0e1329d4045c 77908e5f .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/09 19:00 upstream 9c69f8884904 77908e5f .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/09 09:07 upstream 2c89c1b655c0 bb813bcc .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/09 00:24 upstream 2c89c1b655c0 dbf35fa1 .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/07 18:56 upstream 707df3375124 dbf35fa1 .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/07 15:30 upstream 707df3375124 350f4ffc .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/06 22:24 upstream 0d8d44db295c 350f4ffc .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/06 10:02 upstream 01f95500a162 ae98e6b9 .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/06 00:39 upstream 01f95500a162 6ca47dd8 .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/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.