syzbot


KCSAN: data-race in bdev_statx / queue_limits_commit_update

Status: moderation: reported on 2025/05/08 18:51
Subsystems: block
[Documentation on labels]
Reported-by: syzbot+7cafee44d163891ef288@syzkaller.appspotmail.com
First crash: 8d13h, last: 8d13h

Sample crash report:
==================================================================
BUG: KCSAN: data-race in bdev_statx / queue_limits_commit_update

read to 0xffff888101e3cbf8 of 4 bytes by task 3511 on cpu 1:
 queue_io_min include/linux/blkdev.h:1313 [inline]
 bdev_io_min include/linux/blkdev.h:1318 [inline]
 bdev_statx+0x293/0x2d0 block/bdev.c:1341
 vfs_getattr_nosec+0x1b6/0x1e0 fs/stat.c:224
 vfs_getattr fs/stat.c:259 [inline]
 vfs_fstat fs/stat.c:278 [inline]
 __do_sys_newfstat fs/stat.c:546 [inline]
 __se_sys_newfstat+0xa4/0x2d0 fs/stat.c:543
 __x64_sys_newfstat+0x31/0x40 fs/stat.c:543
 x64_sys_call+0x27e1/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:6
 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

write to 0xffff888101e3cbb8 of 176 bytes by task 3519 on cpu 0:
 queue_limits_commit_update+0x4c/0x110 block/blk-settings.c:461
 loop_configure+0x746/0x9f0 drivers/block/loop.c:1029
 lo_ioctl+0x5f8/0x1560 drivers/block/loop.c:-1
 blkdev_ioctl+0x34f/0x440 block/ioctl.c:704
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:906 [inline]
 __se_sys_ioctl+0xcb/0x140 fs/ioctl.c:892
 __x64_sys_ioctl+0x43/0x50 fs/ioctl.c:892
 x64_sys_call+0x19a8/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:17
 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

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 3519 Comm: syz.3.25 Not tainted 6.15.0-rc5-syzkaller-00043-gd76bb1ebb558 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================
loop3: detected capacity change from 0 to 512
EXT4-fs (loop3): mounted filesystem 00000000-0000-0000-0000-000000000000 r/w without journal. Quota mode: writeback.
ext4 filesystem being mounted at /3/bus supports timestamps until 2038-01-19 (0x7fffffff)
EXT4-fs error (device loop3): ext4_do_update_inode:5211: inode #2: comm syz.3.25: corrupted inode contents
EXT4-fs error (device loop3): ext4_dirty_inode:6103: inode #2: comm syz.3.25: mark_inode_dirty error
EXT4-fs error (device loop3): ext4_do_update_inode:5211: inode #2: comm syz.3.25: corrupted inode contents
EXT4-fs error (device loop3): __ext4_ext_dirty:207: inode #2: comm syz.3.25: mark_inode_dirty error

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/08 18:50 upstream d76bb1ebb558 dbf35fa1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in bdev_statx / queue_limits_commit_update
* Struck through repros no longer work on HEAD.