syzbot


KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each (2)

Status: auto-obsoleted due to no activity on 2023/11/04 04:04
Subsystems: block
[Documentation on labels]
First crash: 771d, last: 701d
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each block 6 1 862d 862d 0/29 auto-obsoleted due to no activity on 2023/05/27 13:09

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

write to 0xffff888102680020 of 4 bytes by task 28743 on cpu 0:
 __blk_mq_alloc_driver_tag block/blk-mq.c:1771 [inline]
 __blk_mq_get_driver_tag+0x1d7/0x460 block/blk-mq.c:1777
 blk_mq_get_driver_tag block/blk-mq.h:334 [inline]
 blk_mq_prep_dispatch_rq block/blk-mq.c:1954 [inline]
 blk_mq_dispatch_rq_list+0x27b/0x11f0 block/blk-mq.c:2034
 __blk_mq_sched_dispatch_requests+0x1d4/0xdd0 block/blk-mq-sched.c:301
 blk_mq_sched_dispatch_requests+0x99/0x100 block/blk-mq-sched.c:333
 blk_mq_run_hw_queue+0x2a4/0x4c0 block/blk-mq.c:2264
 blk_mq_get_tag+0x479/0x590 block/blk-mq-tag.c:170
 __blk_mq_alloc_requests+0x5b9/0x850 block/blk-mq.c:499
 blk_mq_get_new_requests block/blk-mq.c:2892 [inline]
 blk_mq_submit_bio+0x46e/0xd70 block/blk-mq.c:2989
 __submit_bio+0x11c/0x350 block/blk-core.c:599
 __submit_bio_noacct_mq block/blk-core.c:678 [inline]
 submit_bio_noacct_nocheck+0x449/0x5e0 block/blk-core.c:707
 submit_bio_noacct+0x700/0x8a0 block/blk-core.c:801
 submit_bio+0xb7/0xc0 block/blk-core.c:834
 ext4_io_submit+0x8a/0xa0 fs/ext4/page-io.c:378
 ext4_do_writepages+0xb3a/0x2100 fs/ext4/inode.c:2695
 ext4_writepages+0x15e/0x2e0 fs/ext4/inode.c:2764
 do_writepages+0x1c2/0x340 mm/page-writeback.c:2553
 filemap_fdatawrite_wbc+0xdb/0xf0 mm/filemap.c:390
 __filemap_fdatawrite_range mm/filemap.c:423 [inline]
 __filemap_fdatawrite mm/filemap.c:429 [inline]
 filemap_flush+0x95/0xc0 mm/filemap.c:456
 ext4_alloc_da_blocks+0x50/0x130 fs/ext4/inode.c:3067
 ext4_release_file+0x5f/0x1c0 fs/ext4/file.c:169
 __fput+0x2fd/0x5f0 fs/file_table.c:384
 ____fput+0x15/0x20 fs/file_table.c:412
 task_work_run+0x135/0x1a0 kernel/task_work.c:180
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x5ff/0x1660 kernel/exit.c:874
 do_group_exit+0x101/0x150 kernel/exit.c:1024
 get_signal+0xf3c/0x1090 kernel/signal.c:2892
 arch_do_signal_or_restart+0x95/0x4b0 arch/x86/kernel/signal.c:309
 exit_to_user_mode_loop+0x6f/0xe0 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204
 irqentry_exit_to_user_mode+0x9/0x20 kernel/entry/common.c:309
 irqentry_exit+0x12/0x40 kernel/entry/common.c:412
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570

read to 0xffff888102680020 of 4 bytes by task 28634 on cpu 1:
 blk_mq_find_and_get_req block/blk-mq-tag.c:260 [inline]
 bt_tags_iter block/blk-mq-tag.c:356 [inline]
 __sbitmap_for_each_set include/linux/sbitmap.h:281 [inline]
 sbitmap_for_each_set include/linux/sbitmap.h:302 [inline]
 bt_tags_for_each+0x2e2/0x500 block/blk-mq-tag.c:391
 __blk_mq_all_tag_iter block/blk-mq-tag.c:402 [inline]
 blk_mq_tagset_busy_iter+0x114/0x150 block/blk-mq-tag.c:446
 scsi_host_busy+0x4f/0x80 drivers/scsi/hosts.c:604
 scsi_host_queue_ready drivers/scsi/scsi_lib.c:1342 [inline]
 scsi_queue_rq+0x310/0x1a30 drivers/scsi/scsi_lib.c:1736
 blk_mq_dispatch_rq_list+0x7b1/0x11f0 block/blk-mq.c:2049
 __blk_mq_sched_dispatch_requests+0x1d4/0xdd0 block/blk-mq-sched.c:301
 blk_mq_sched_dispatch_requests+0x99/0x100 block/blk-mq-sched.c:333
 blk_mq_run_hw_queue+0x2a4/0x4c0 block/blk-mq.c:2264
 blk_mq_get_tag+0x479/0x590 block/blk-mq-tag.c:170
 __blk_mq_alloc_requests+0x5b9/0x850 block/blk-mq.c:499
 blk_mq_get_new_requests block/blk-mq.c:2892 [inline]
 blk_mq_submit_bio+0x46e/0xd70 block/blk-mq.c:2989
 __submit_bio+0x11c/0x350 block/blk-core.c:599
 __submit_bio_noacct_mq block/blk-core.c:678 [inline]
 submit_bio_noacct_nocheck+0x449/0x5e0 block/blk-core.c:707
 submit_bio_noacct+0x700/0x8a0 block/blk-core.c:801
 submit_bio+0xb7/0xc0 block/blk-core.c:834
 ext4_io_submit fs/ext4/page-io.c:378 [inline]
 io_submit_add_bh fs/ext4/page-io.c:419 [inline]
 ext4_bio_write_folio+0x6c0/0x9a0 fs/ext4/page-io.c:563
 mpage_submit_folio fs/ext4/inode.c:1865 [inline]
 mpage_map_and_submit_buffers fs/ext4/inode.c:2111 [inline]
 mpage_map_and_submit_extent fs/ext4/inode.c:2250 [inline]
 ext4_do_writepages+0x139f/0x2100 fs/ext4/inode.c:2675
 ext4_writepages+0x15e/0x2e0 fs/ext4/inode.c:2764
 do_writepages+0x1c2/0x340 mm/page-writeback.c:2553
 filemap_fdatawrite_wbc+0xdb/0xf0 mm/filemap.c:390
 __filemap_fdatawrite_range mm/filemap.c:423 [inline]
 __filemap_fdatawrite mm/filemap.c:429 [inline]
 filemap_flush+0x95/0xc0 mm/filemap.c:456
 ext4_alloc_da_blocks+0x50/0x130 fs/ext4/inode.c:3067
 ext4_release_file+0x5f/0x1c0 fs/ext4/file.c:169
 __fput+0x2fd/0x5f0 fs/file_table.c:384
 ____fput+0x15/0x20 fs/file_table.c:412
 task_work_run+0x135/0x1a0 kernel/task_work.c:180
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x5ff/0x1660 kernel/exit.c:874
 do_group_exit+0x101/0x150 kernel/exit.c:1024
 get_signal+0xf3c/0x1090 kernel/signal.c:2892
 arch_do_signal_or_restart+0x95/0x4b0 arch/x86/kernel/signal.c:309
 exit_to_user_mode_loop+0x6f/0xe0 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204
 irqentry_exit_to_user_mode+0x9/0x20 kernel/entry/common.c:309
 irqentry_exit+0x12/0x40 kernel/entry/common.c:412
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:570

value changed: 0xffffffff -> 0x00000195

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 28634 Comm: syz-executor.3 Tainted: G        W          6.6.0-rc3-syzkaller-00096-g71e58659bfc0 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
==================================================================

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/09/30 03:53 upstream 71e58659bfc0 8e26a358 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each
2023/09/20 07:36 upstream 2cf0f7156238 0b6a67ac .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each
2023/09/17 11:22 upstream ad8a69f361b9 0b6a67ac .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each
2023/08/22 02:05 upstream f7757129e3de 6b415825 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each
2023/08/19 07:39 upstream d4ddefee5160 d216d8a0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each
2023/07/23 03:09 upstream 295e1388de2d 27cbe77f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __blk_mq_get_driver_tag / bt_tags_for_each
* Struck through repros no longer work on HEAD.