syzbot


KCSAN: data-race in blk_mq_run_hw_queue / blk_mq_sched_insert_request

Status: auto-closed as invalid on 2020/06/18 13:11
Subsystems: block
[Documentation on labels]
Reported-by: syzbot+a368b2a7d9d36504415a@syzkaller.appspotmail.com
First crash: 1640d, last: 1467d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in blk_mq_run_hw_queue / blk_mq_sched_insert_request

write to 0xffff88812aec3810 of 8 bytes by task 2517 on cpu 0:
 __list_add include/linux/list.h:70 [inline]
 list_add include/linux/list.h:86 [inline]
 blk_mq_sched_bypass_insert block/blk-mq-sched.c:367 [inline]
 blk_mq_sched_insert_request+0x2f2/0x3e0 block/blk-mq-sched.c:394
 blk_mq_requeue_work+0x347/0x440 block/blk-mq.c:746
 process_one_work+0x424/0x930 kernel/workqueue.c:2264
 worker_thread+0x9a/0x7e0 kernel/workqueue.c:2410
 kthread+0x1cb/0x1f0 kernel/kthread.c:255
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:352

read to 0xffff88812aec3810 of 8 bytes by interrupt on cpu 1:
 list_empty_careful include/linux/list.h:301 [inline]
 blk_mq_hctx_has_pending block/blk-mq.c:69 [inline]
 blk_mq_run_hw_queue+0x10a/0x1b0 block/blk-mq.c:1508
 blk_mq_run_hw_queues+0xa2/0xe0 block/blk-mq.c:1530
 scsi_end_request+0x338/0x350 drivers/scsi/scsi_lib.c:616
 scsi_io_completion+0x11e/0xcc0 drivers/scsi/scsi_lib.c:960
 scsi_finish_command+0x283/0x390 drivers/scsi/scsi.c:228
 scsi_softirq_done+0x249/0x270 drivers/scsi/scsi_lib.c:1476
 blk_done_softirq+0x1e6/0x250 block/blk-softirq.c:37
 __do_softirq+0x118/0x34a kernel/softirq.c:292
 invoke_softirq kernel/softirq.c:373 [inline]
 irq_exit+0xb5/0xd0 kernel/softirq.c:413
 exiting_irq arch/x86/include/asm/apic.h:546 [inline]
 do_IRQ+0x7b/0x120 arch/x86/kernel/irq.c:263
 ret_from_intr+0x0/0x21
 arch_local_irq_restore arch/x86/include/asm/paravirt.h:752 [inline]
 kcsan_setup_watchpoint+0x25a/0x440 kernel/kcsan/core.c:530
 tomoyo_path_matches_pattern+0x102/0x140 security/tomoyo/util.c:924
 tomoyo_compare_name_union security/tomoyo/file.c:87 [inline]
 tomoyo_compare_name_union+0x6b/0x90 security/tomoyo/file.c:82
 tomoyo_check_path_acl security/tomoyo/file.c:260 [inline]
 tomoyo_check_path_acl+0x7d/0xa0 security/tomoyo/file.c:252
 tomoyo_check_acl+0xf8/0x280 security/tomoyo/domain.c:175
 tomoyo_path_permission security/tomoyo/file.c:586 [inline]
 tomoyo_path_permission+0xda/0x150 security/tomoyo/file.c:573
 tomoyo_path_perm+0x215/0x350 security/tomoyo/file.c:838
 tomoyo_inode_getattr+0x23/0x40 security/tomoyo/tomoyo.c:129
 security_inode_getattr+0x97/0xc0 security/security.c:1254
 vfs_getattr+0x2c/0x70 fs/stat.c:117
 vfs_statx_fd+0x74/0xc0 fs/stat.c:147
 vfs_fstat include/linux/fs.h:3287 [inline]
 __do_sys_newfstat+0x46/0xa0 fs/stat.c:388
 __se_sys_newfstat fs/stat.c:385 [inline]
 __x64_sys_newfstat+0x37/0x50 fs/stat.c:385
 do_syscall_64+0xc7/0x390 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 12582 Comm: blkid Not tainted 5.6.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (109):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/04/13 16:52 https://github.com/google/ktsan.git kcsan 40959e34d670 17a986e5 .config console log report ci2-upstream-kcsan-gce
2020/04/02 17:59 https://github.com/google/ktsan.git kcsan 40959e34d670 a34e2c33 .config console log report ci2-upstream-kcsan-gce
2020/03/25 21:09 https://github.com/google/ktsan.git kcsan 40959e34d670 e8e6c7d2 .config console log report ci2-upstream-kcsan-gce
2020/03/20 04:20 https://github.com/google/ktsan.git kcsan 40959e34d670 2c31c529 .config console log report ci2-upstream-kcsan-gce
2020/03/10 00:01 https://github.com/google/ktsan.git kcsan 941e0d917bbf 35f53e45 .config console log report ci2-upstream-kcsan-gce
2020/03/05 13:46 https://github.com/google/ktsan.git kcsan 766d004d1b85 b655d91b .config console log report ci2-upstream-kcsan-gce
2020/03/02 03:05 https://github.com/google/ktsan.git kcsan 766d004d1b85 4a4e0509 .config console log report ci2-upstream-kcsan-gce
2020/02/25 07:30 https://github.com/google/ktsan.git kcsan 766d004d1b85 59b57593 .config console log report ci2-upstream-kcsan-gce
2020/02/22 04:41 https://github.com/google/ktsan.git kcsan 766d004d1b85 2ffa6679 .config console log report ci2-upstream-kcsan-gce
2020/02/20 11:20 https://github.com/google/ktsan.git kcsan b12d66a6c34f b690a6e3 .config console log report ci2-upstream-kcsan-gce
2020/02/19 01:33 https://github.com/google/ktsan.git kcsan b12d66a6c34f 135c18aa .config console log report ci2-upstream-kcsan-gce
2020/02/11 19:38 https://github.com/google/ktsan.git kcsan f60f0f543333 4d1ab643 .config console log report ci2-upstream-kcsan-gce
2020/02/11 10:07 https://github.com/google/ktsan.git kcsan f60f0f543333 084454ae .config console log report ci2-upstream-kcsan-gce
2020/02/10 01:23 https://github.com/google/ktsan.git kcsan f60f0f543333 35f5e45e .config console log report ci2-upstream-kcsan-gce
2020/02/07 04:21 https://github.com/google/ktsan.git kcsan 245a43005292 06150bf1 .config console log report ci2-upstream-kcsan-gce
2020/02/06 12:31 https://github.com/google/ktsan.git kcsan 245a43005292 5be3a391 .config console log report ci2-upstream-kcsan-gce
2020/02/05 14:33 https://github.com/google/ktsan.git kcsan 245a43005292 662cf49a .config console log report ci2-upstream-kcsan-gce
2020/02/02 14:58 https://github.com/google/ktsan.git kcsan 245a43005292 93e5e335 .config console log report ci2-upstream-kcsan-gce
2020/02/01 13:40 https://github.com/google/ktsan.git kcsan 245a43005292 326d4c78 .config console log report ci2-upstream-kcsan-gce
2020/01/31 19:17 https://github.com/google/ktsan.git kcsan 245a43005292 0eb59c27 .config console log report ci2-upstream-kcsan-gce
2020/01/29 19:11 https://github.com/google/ktsan.git kcsan 245a43005292 5ed23f9a .config console log report ci2-upstream-kcsan-gce
2020/01/27 19:08 https://github.com/google/ktsan.git kcsan 245a43005292 56cd6c9b .config console log report ci2-upstream-kcsan-gce
2020/01/26 19:26 https://github.com/google/ktsan.git kcsan 245a43005292 dd56146d .config console log report ci2-upstream-kcsan-gce
2020/01/25 22:34 https://github.com/google/ktsan.git kcsan 245a43005292 f4e7270e .config console log report ci2-upstream-kcsan-gce
2020/01/24 07:05 https://github.com/google/ktsan.git kcsan 245a43005292 2e95ab33 .config console log report ci2-upstream-kcsan-gce
2020/01/23 15:22 https://github.com/google/ktsan.git kcsan 245a43005292 11ebf937 .config console log report ci2-upstream-kcsan-gce
2020/01/22 20:41 https://github.com/google/ktsan.git kcsan 245a43005292 3334d684 .config console log report ci2-upstream-kcsan-gce
2020/01/20 22:16 https://github.com/google/ktsan.git kcsan 245a43005292 8eda0b95 .config console log report ci2-upstream-kcsan-gce
2020/01/20 11:01 https://github.com/google/ktsan.git kcsan 245a43005292 c40da18c .config console log report ci2-upstream-kcsan-gce
2020/01/19 16:41 https://github.com/google/ktsan.git kcsan 245a43005292 0342f8c7 .config console log report ci2-upstream-kcsan-gce
2020/01/18 21:30 https://github.com/google/ktsan.git kcsan 245a43005292 bc8bc756 .config console log report ci2-upstream-kcsan-gce
2020/01/16 15:01 https://github.com/google/ktsan.git kcsan 245a43005292 3de7aabb .config console log report ci2-upstream-kcsan-gce
2020/01/15 16:13 https://github.com/google/ktsan.git kcsan 245a43005292 069a5a44 .config console log report ci2-upstream-kcsan-gce
2020/01/14 00:56 https://github.com/google/ktsan.git kcsan 245a43005292 32881205 .config console log report ci2-upstream-kcsan-gce
2020/01/13 15:02 https://github.com/google/ktsan.git kcsan 245a43005292 99565c1a .config console log report ci2-upstream-kcsan-gce
2020/01/13 00:15 https://github.com/google/ktsan.git kcsan 245a43005292 53faa9fe .config console log report ci2-upstream-kcsan-gce
2020/01/12 11:06 https://github.com/google/ktsan.git kcsan 245a43005292 31290a45 .config console log report ci2-upstream-kcsan-gce
2020/01/10 14:57 https://github.com/google/ktsan.git kcsan 245a43005292 532ec44e .config console log report ci2-upstream-kcsan-gce
2020/01/09 17:33 https://github.com/google/ktsan.git kcsan 245a43005292 4de4e9f0 .config console log report ci2-upstream-kcsan-gce
2020/01/08 11:19 https://github.com/google/ktsan.git kcsan 245a43005292 ddc3e859 .config console log report ci2-upstream-kcsan-gce
2020/01/07 22:36 https://github.com/google/ktsan.git kcsan 245a43005292 6738e0b3 .config console log report ci2-upstream-kcsan-gce
2020/01/07 10:16 https://github.com/google/ktsan.git kcsan 245a43005292 1bcd407e .config console log report ci2-upstream-kcsan-gce
2020/01/06 21:09 https://github.com/google/ktsan.git kcsan 245a43005292 53430d97 .config console log report ci2-upstream-kcsan-gce
2020/01/06 00:39 https://github.com/google/ktsan.git kcsan 245a43005292 438e1227 .config console log report ci2-upstream-kcsan-gce
2020/01/04 00:28 https://github.com/google/ktsan.git kcsan 245a43005292 68256974 .config console log report ci2-upstream-kcsan-gce
2019/12/31 23:27 https://github.com/google/ktsan.git kcsan 245a43005292 25a0186e .config console log report ci2-upstream-kcsan-gce
2019/12/31 06:47 https://github.com/google/ktsan.git kcsan 245a43005292 7f117e28 .config console log report ci2-upstream-kcsan-gce
2019/12/29 11:24 https://github.com/google/ktsan.git kcsan 245a43005292 af6b8ef8 .config console log report ci2-upstream-kcsan-gce
2019/12/23 13:18 https://github.com/google/ktsan.git kcsan 245a43005292 be5c2c81 .config console log report ci2-upstream-kcsan-gce
2019/12/11 20:07 https://github.com/google/ktsan.git kcsan ef798c30ba4e 0d368675 .config console log report ci2-upstream-kcsan-gce
2019/10/23 02:18 https://github.com/google/ktsan.git kcsan 05f2236801fe d0686497 .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.