syzbot


KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_iter

Status: auto-obsoleted due to no activity on 2022/11/19 11:07
Subsystems: block
[Documentation on labels]
First crash: 559d, last: 559d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_iter (2) block 1 481d 481d 0/26 auto-obsoleted due to no activity on 2023/02/13 02:48

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_iter

write to 0xffff8881033c3de0 of 4 bytes by task 20713 on cpu 1:
 __blk_mq_alloc_driver_tag block/blk-mq.c:1710 [inline]
 __blk_mq_get_driver_tag+0x1d3/0x460 block/blk-mq.c:1716
 blk_mq_get_driver_tag block/blk-mq.h:284 [inline]
 blk_mq_prep_dispatch_rq block/blk-mq.c:1898 [inline]
 blk_mq_dispatch_rq_list+0x293/0x1250 block/blk-mq.c:1961
 __blk_mq_sched_dispatch_requests+0x1b7/0x270 block/blk-mq-sched.c:306
 blk_mq_sched_dispatch_requests+0x8f/0xf0 block/blk-mq-sched.c:339
 __blk_mq_run_hw_queue+0x7e/0x100 block/blk-mq.c:2104
 __blk_mq_delay_run_hw_queue+0x15b/0x2e0 block/blk-mq.c:2180
 blk_mq_run_hw_queue+0x180/0x320 block/blk-mq.c:2228
 blk_mq_sched_insert_requests+0x1cb/0x2a0 block/blk-mq-sched.c:493
 blk_mq_dispatch_plug_list+0x1e9/0x2c0 block/blk-mq.c:2688
 blk_mq_flush_plug_list+0x2ea/0x340 block/blk-mq.c:2730
 blk_add_rq_to_plug+0x13f/0x390 block/blk-mq.c:1259
 blk_mq_submit_bio+0x90b/0xe90 block/blk-mq.c:2921
 __submit_bio block/blk-core.c:591 [inline]
 __submit_bio_noacct_mq block/blk-core.c:668 [inline]
 submit_bio_noacct_nocheck+0x83d/0xaa0 block/blk-core.c:685
 submit_bio_noacct+0x6a5/0x810 block/blk-core.c:791
 submit_bio+0xfb/0x110 block/blk-core.c:827
 ext4_io_submit+0x86/0xa0 fs/ext4/page-io.c:378
 ext4_writepages+0xaca/0x1cf0 fs/ext4/inode.c:2854
 do_writepages+0x1db/0x350 mm/page-writeback.c:2469
 filemap_fdatawrite_wbc+0xd6/0xf0 mm/filemap.c:388
 __filemap_fdatawrite_range mm/filemap.c:421 [inline]
 __filemap_fdatawrite mm/filemap.c:427 [inline]
 filemap_flush+0x93/0xc0 mm/filemap.c:454
 ext4_alloc_da_blocks+0x47/0x100 fs/ext4/inode.c:3140
 ext4_release_file+0x5b/0x1d0 fs/ext4/file.c:158
 __fput+0x245/0x570 fs/file_table.c:320
 ____fput+0x11/0x20 fs/file_table.c:348
 task_work_run+0xde/0x110 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x5ad/0x1740 kernel/exit.c:820
 do_group_exit+0xfe/0x140 kernel/exit.c:950
 get_signal+0xb40/0xc60 kernel/signal.c:2858
 arch_do_signal_or_restart+0x87/0x2d0 arch/x86/kernel/signal.c:869
 exit_to_user_mode_loop+0x78/0x130 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x69/0x90 kernel/entry/common.c:203
 irqentry_exit_to_user_mode+0x5/0x10 kernel/entry/common.c:309
 irqentry_exit+0xe/0x40 kernel/entry/common.c:412
 exc_general_protection+0x321/0x4b0 arch/x86/kernel/traps.c:721
 asm_exc_general_protection+0x22/0x30 arch/x86/include/asm/idtentry.h:564

read to 0xffff8881033c3de0 of 4 bytes by task 21453 on cpu 0:
 blk_mq_find_and_get_req block/blk-mq-tag.c:253 [inline]
 bt_tags_iter+0x120/0x260 block/blk-mq-tag.c:349
 __sbitmap_for_each_set include/linux/sbitmap.h:275 [inline]
 sbitmap_for_each_set include/linux/sbitmap.h:296 [inline]
 bt_tags_for_each block/blk-mq-tag.c:384 [inline]
 __blk_mq_all_tag_iter block/blk-mq-tag.c:395 [inline]
 blk_mq_tagset_busy_iter+0x53f/0x680 block/blk-mq-tag.c:439
 scsi_host_busy+0x4b/0x80 drivers/scsi/hosts.c:603
 scsi_host_queue_ready drivers/scsi/scsi_lib.c:1350 [inline]
 scsi_queue_rq+0x2b6/0x1570 drivers/scsi/scsi_lib.c:1737
 blk_mq_dispatch_rq_list+0x977/0x1250 block/blk-mq.c:1986
 __blk_mq_sched_dispatch_requests+0x1b7/0x270 block/blk-mq-sched.c:306
 blk_mq_sched_dispatch_requests+0x8f/0xf0 block/blk-mq-sched.c:339
 __blk_mq_run_hw_queue+0x7e/0x100 block/blk-mq.c:2104
 __blk_mq_delay_run_hw_queue+0x15b/0x2e0 block/blk-mq.c:2180
 blk_mq_run_hw_queue+0x180/0x320 block/blk-mq.c:2228
 blk_mq_sched_insert_requests+0x1cb/0x2a0 block/blk-mq-sched.c:493
 blk_mq_dispatch_plug_list+0x1e9/0x2c0 block/blk-mq.c:2688
 blk_mq_flush_plug_list+0x2ea/0x340 block/blk-mq.c:2730
 blk_add_rq_to_plug+0x13f/0x390 block/blk-mq.c:1259
 blk_mq_submit_bio+0x90b/0xe90 block/blk-mq.c:2921
 __submit_bio block/blk-core.c:591 [inline]
 __submit_bio_noacct_mq block/blk-core.c:668 [inline]
 submit_bio_noacct_nocheck+0x83d/0xaa0 block/blk-core.c:685
 submit_bio_noacct+0x6a5/0x810 block/blk-core.c:791
 submit_bio+0xfb/0x110 block/blk-core.c:827
 ext4_io_submit fs/ext4/page-io.c:378 [inline]
 io_submit_add_bh fs/ext4/page-io.c:420 [inline]
 ext4_bio_write_page+0x5cd/0xb60 fs/ext4/page-io.c:546
 mpage_submit_page fs/ext4/inode.c:2121 [inline]
 mpage_map_and_submit_buffers fs/ext4/inode.c:2366 [inline]
 mpage_map_and_submit_extent fs/ext4/inode.c:2505 [inline]
 ext4_writepages+0x1020/0x1cf0 fs/ext4/inode.c:2834
 do_writepages+0x1db/0x350 mm/page-writeback.c:2469
 filemap_fdatawrite_wbc+0xd6/0xf0 mm/filemap.c:388
 __filemap_fdatawrite_range mm/filemap.c:421 [inline]
 __filemap_fdatawrite mm/filemap.c:427 [inline]
 filemap_flush+0x93/0xc0 mm/filemap.c:454
 ext4_alloc_da_blocks+0x47/0x100 fs/ext4/inode.c:3140
 ext4_release_file+0x5b/0x1d0 fs/ext4/file.c:158
 __fput+0x245/0x570 fs/file_table.c:320
 ____fput+0x11/0x20 fs/file_table.c:348
 task_work_run+0xde/0x110 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x5ad/0x1740 kernel/exit.c:820
 do_group_exit+0xfe/0x140 kernel/exit.c:950
 get_signal+0xb40/0xc60 kernel/signal.c:2858
 arch_do_signal_or_restart+0x87/0x2d0 arch/x86/kernel/signal.c:869
 exit_to_user_mode_loop+0x78/0x130 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x69/0x90 kernel/entry/common.c:203
 irqentry_exit_to_user_mode+0x5/0x10 kernel/entry/common.c:309
 irqentry_exit+0xe/0x40 kernel/entry/common.c:412
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:570

value changed: 0xffffffff -> 0x00000cce

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 21453 Comm: syz-executor.3 Not tainted 6.0.0-syzkaller-11990-g9c9155a3509a-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/10/15 11:04 upstream 9c9155a3509a 67cb024c .config console log report info [disk image] [vmlinux] ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_iter
* Struck through repros no longer work on HEAD.