syzbot


KCSAN: data-race in blk_mq_start_request / bt_for_each (2)

Status: moderation: reported on 2024/08/30 13:14
Subsystems: block
[Documentation on labels]
Reported-by: syzbot+3912f6af732771b057ba@syzkaller.appspotmail.com
First crash: 15d, last: 15d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in blk_mq_start_request / bt_for_each block 1 231d 231d 0/28 auto-obsoleted due to no activity on 2024/03/02 18:09

Sample crash report:
==================================================================
BUG: KCSAN: data-race in blk_mq_start_request / bt_for_each

write to 0xffff88810282d350 of 8 bytes by task 3369 on cpu 1:
 blk_mq_start_request+0x1e4/0x3b0 block/blk-mq.c:1261
 scsi_queue_rq+0x14aa/0x1a10 drivers/scsi/scsi_lib.c:1849
 blk_mq_dispatch_rq_list+0x2a2/0xf30 block/blk-mq.c:2032
 __blk_mq_do_dispatch_sched block/blk-mq-sched.c:170 [inline]
 blk_mq_do_dispatch_sched block/blk-mq-sched.c:184 [inline]
 __blk_mq_sched_dispatch_requests+0x604/0xd50 block/blk-mq-sched.c:309
 blk_mq_sched_dispatch_requests+0x78/0xe0 block/blk-mq-sched.c:331
 blk_mq_run_hw_queue+0x29c/0x4d0 block/blk-mq.c:2245
 blk_mq_flush_plug_list+0x7bc/0xde0 block/blk-mq.c:2794
 __blk_flush_plug+0x216/0x290 block/blk-core.c:1198
 blk_finish_plug+0x48/0x70 block/blk-core.c:1225
 wb_writeback+0x6d8/0x720 fs/fs-writeback.c:2165
 wb_check_old_data_flush fs/fs-writeback.c:2233 [inline]
 wb_do_writeback fs/fs-writeback.c:2286 [inline]
 wb_workfn+0x615/0x940 fs/fs-writeback.c:2314
 process_one_work kernel/workqueue.c:3231 [inline]
 process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3312
 worker_thread+0x526/0x6e0 kernel/workqueue.c:3389
 kthread+0x1d1/0x210 kernel/kthread.c:389
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

read to 0xffff88810282d350 of 8 bytes by task 392 on cpu 0:
 blk_mq_find_and_get_req block/blk-mq-tag.c:260 [inline]
 bt_iter block/blk-mq-tag.c:288 [inline]
 __sbitmap_for_each_set include/linux/sbitmap.h:286 [inline]
 sbitmap_for_each_set include/linux/sbitmap.h:307 [inline]
 bt_for_each+0x279/0x480 block/blk-mq-tag.c:325
 blk_mq_queue_tag_busy_iter+0x1a4/0x330 block/blk-mq-tag.c:534
 blk_mq_timeout_work+0xc4/0x350 block/blk-mq.c:1639
 process_one_work kernel/workqueue.c:3231 [inline]
 process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3312
 worker_thread+0x526/0x6e0 kernel/workqueue.c:3389
 kthread+0x1d1/0x210 kernel/kthread.c:389
 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

value changed: 0xffff888102f08bc0 -> 0xffff888102f03dc0

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 392 Comm: kworker/0:1H Not tainted 6.11.0-rc5-syzkaller-00176-g20371ba12063 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
Workqueue: kblockd blk_mq_timeout_work
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/08/30 13:14 upstream 20371ba12063 ee2602b8 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in blk_mq_start_request / bt_for_each
* Struck through repros no longer work on HEAD.