syzbot


KCSAN: data-race in enqueue_timer / wbt_wait

Status: auto-closed as invalid on 2020/04/16 14:24
Subsystems: block
[Documentation on labels]
First crash: 1640d, last: 1533d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in enqueue_timer / wbt_wait

read to 0xffff88812abac598 of 8 bytes by task 17742 on cpu 0:
 blk_stat_is_active block/blk-stat.h:131 [inline]
 wbt_wait+0x177/0x250 block/blk-wbt.c:593
 __rq_qos_throttle+0x47/0x70 block/blk-rq-qos.c:72
 rq_qos_throttle block/blk-rq-qos.h:182 [inline]
 blk_mq_make_request+0x29c/0xf60 block/blk-mq.c:1932
 generic_make_request block/blk-core.c:1066 [inline]
 generic_make_request+0x196/0x700 block/blk-core.c:1008
 submit_bio+0x96/0x3c0 block/blk-core.c:1192
 submit_bh_wbc+0x40f/0x460 fs/buffer.c:3135
 submit_bh fs/buffer.c:3141 [inline]
 __sync_dirty_buffer+0xd3/0x210 fs/buffer.c:3227
 sync_dirty_buffer+0x24/0x40 fs/buffer.c:3240
 __ext4_handle_dirty_metadata+0x19c/0x3e0 fs/ext4/ext4_jbd2.c:316
 ext4_handle_dirty_dirblock+0x20a/0x280 fs/ext4/namei.c:404
 ext4_delete_entry+0x266/0x2c0 fs/ext4/namei.c:2509
 ext4_unlink fs/ext4/namei.c:3199 [inline]
 ext4_unlink+0x30b/0x7d0 fs/ext4/namei.c:3154
 vfs_unlink+0x225/0x3e0 fs/namei.c:4003
 do_unlinkat+0x32b/0x530 fs/namei.c:4067
 __do_sys_unlink fs/namei.c:4114 [inline]
 __se_sys_unlink fs/namei.c:4112 [inline]
 __x64_sys_unlink+0x3b/0x50 fs/namei.c:4112
 do_syscall_64+0xcc/0x3a0 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

write to 0xffff88812abac598 of 8 bytes by interrupt on cpu 1:
 hlist_add_head include/linux/list.h:789 [inline]
 enqueue_timer+0x9c/0x210 kernel/time/timer.c:540
 __internal_add_timer+0x4f/0x60 kernel/time/timer.c:553
 internal_add_timer kernel/time/timer.c:595 [inline]
 __mod_timer kernel/time/timer.c:1053 [inline]
 mod_timer+0x303/0x7a0 kernel/time/timer.c:1100
 blk_stat_activate_nsecs block/blk-stat.h:145 [inline]
 rwb_arm_timer+0x98/0xf0 block/blk-wbt.c:349
 wb_timer_fn+0x311/0xad0 block/blk-wbt.c:405
 blk_stat_timer_fn+0x3b0/0x3d0 block/blk-stat.c:99
 call_timer_fn+0x5f/0x2f0 kernel/time/timer.c:1404
 expire_timers kernel/time/timer.c:1449 [inline]
 __run_timers kernel/time/timer.c:1773 [inline]
 __run_timers kernel/time/timer.c:1740 [inline]
 run_timer_softirq+0xc0c/0xcd0 kernel/time/timer.c:1786
 __do_softirq+0x115/0x33f kernel/softirq.c:292
 invoke_softirq kernel/softirq.c:373 [inline]
 irq_exit+0xbb/0xe0 kernel/softirq.c:413
 exiting_irq arch/x86/include/asm/apic.h:536 [inline]
 smp_apic_timer_interrupt+0xe6/0x280 arch/x86/kernel/apic/apic.c:1137
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:829
 arch_local_irq_restore arch/x86/include/asm/paravirt.h:752 [inline]
 kcsan_setup_watchpoint+0x1d4/0x460 kernel/kcsan/core.c:429
 check_access kernel/kcsan/core.c:459 [inline]
 __tsan_read8+0xc6/0x100 kernel/kcsan/core.c:589
 vm_normal_page+0xc1/0x220 mm/memory.c:634
 copy_one_pte mm/memory.c:788 [inline]
 copy_pte_range mm/memory.c:841 [inline]
 copy_pmd_range mm/memory.c:892 [inline]
 copy_pud_range mm/memory.c:926 [inline]
 copy_p4d_range mm/memory.c:948 [inline]
 copy_page_range+0xab2/0x19b0 mm/memory.c:1010
 dup_mmap kernel/fork.c:604 [inline]
 dup_mm+0x74a/0xba0 kernel/fork.c:1360
 copy_mm kernel/fork.c:1416 [inline]
 copy_process+0x3138/0x3c40 kernel/fork.c:2072
 _do_fork+0xfe/0x7a0 kernel/fork.c:2421
 __do_sys_clone kernel/fork.c:2576 [inline]
 __se_sys_clone kernel/fork.c:2557 [inline]
 __x64_sys_clone+0x130/0x170 kernel/fork.c:2557
 do_syscall_64+0xcc/0x3a0 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 21712 Comm: syz-executor.0 Not tainted 5.5.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (35):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/02/06 14:23 https://github.com/google/ktsan.git kcsan 245a43005292 5be3a391 .config console log report ci2-upstream-kcsan-gce
2020/02/02 00:02 https://github.com/google/ktsan.git kcsan 245a43005292 2274ad39 .config console log report ci2-upstream-kcsan-gce
2020/02/01 03:35 https://github.com/google/ktsan.git kcsan 245a43005292 0eb59c27 .config console log report ci2-upstream-kcsan-gce
2020/01/30 01:48 https://github.com/google/ktsan.git kcsan 245a43005292 5ed23f9a .config console log report ci2-upstream-kcsan-gce
2020/01/29 09:34 https://github.com/google/ktsan.git kcsan 245a43005292 c8e81ce4 .config console log report ci2-upstream-kcsan-gce
2020/01/26 21:01 https://github.com/google/ktsan.git kcsan 245a43005292 dd56146d .config console log report ci2-upstream-kcsan-gce
2020/01/23 17:47 https://github.com/google/ktsan.git kcsan 245a43005292 11ebf937 .config console log report ci2-upstream-kcsan-gce
2020/01/22 22:53 https://github.com/google/ktsan.git kcsan 245a43005292 3334d684 .config console log report ci2-upstream-kcsan-gce
2020/01/20 12:10 https://github.com/google/ktsan.git kcsan 245a43005292 c40da18c .config console log report ci2-upstream-kcsan-gce
2020/01/15 18:40 https://github.com/google/ktsan.git kcsan 245a43005292 f9b69507 .config console log report ci2-upstream-kcsan-gce
2020/01/15 01:48 https://github.com/google/ktsan.git kcsan 245a43005292 fa12bd3c .config console log report ci2-upstream-kcsan-gce
2020/01/14 09:37 https://github.com/google/ktsan.git kcsan 245a43005292 32881205 .config console log report ci2-upstream-kcsan-gce
2020/01/13 02:49 https://github.com/google/ktsan.git kcsan 245a43005292 53faa9fe .config console log report ci2-upstream-kcsan-gce
2020/01/11 16:59 https://github.com/google/ktsan.git kcsan 245a43005292 4c04afaa .config console log report ci2-upstream-kcsan-gce
2020/01/10 09:19 https://github.com/google/ktsan.git kcsan 245a43005292 4de4e9f0 .config console log report ci2-upstream-kcsan-gce
2020/01/08 11:38 https://github.com/google/ktsan.git kcsan 245a43005292 ddc3e859 .config console log report ci2-upstream-kcsan-gce
2020/01/05 14:57 https://github.com/google/ktsan.git kcsan 245a43005292 d646e21f .config console log report ci2-upstream-kcsan-gce
2019/12/19 17:42 https://github.com/google/ktsan.git kcsan 245a43005292 36650b4b .config console log report ci2-upstream-kcsan-gce
2019/12/16 09:12 https://github.com/google/ktsan.git kcsan 245a43005292 0ae38e44 .config console log report ci2-upstream-kcsan-gce
2019/12/14 01:47 https://github.com/google/ktsan.git kcsan 245a43005292 a5c1ab05 .config console log report ci2-upstream-kcsan-gce
2019/12/10 06:44 https://github.com/google/ktsan.git kcsan ef798c30ba4e 4b83c8fb .config console log report ci2-upstream-kcsan-gce
2019/12/07 01:13 https://github.com/google/ktsan.git kcsan ef798c30ba4e 85f26751 .config console log report ci2-upstream-kcsan-gce
2019/12/05 05:57 https://github.com/google/ktsan.git kcsan ef798c30ba4e b2088328 .config console log report ci2-upstream-kcsan-gce
2019/11/28 13:18 https://github.com/google/ktsan.git kcsan ef798c30ba4e 97264cb1 .config console log report ci2-upstream-kcsan-gce
2019/11/28 13:17 https://github.com/google/ktsan.git kcsan ef798c30ba4e 97264cb1 .config console log report ci2-upstream-kcsan-gce
2019/11/13 11:46 https://github.com/google/ktsan.git kcsan 7f2955e0d056 048f2d49 .config console log report ci2-upstream-kcsan-gce
2019/11/08 12:33 https://github.com/google/ktsan.git kcsan 94c006602e13 1e35461e .config console log report ci2-upstream-kcsan-gce
2019/11/07 10:53 https://github.com/google/ktsan.git kcsan 94c006602e13 d797d201 .config console log report ci2-upstream-kcsan-gce
2019/11/06 09:32 https://github.com/google/ktsan.git kcsan 94c006602e13 bc2c6e45 .config console log report ci2-upstream-kcsan-gce
2019/11/02 21:14 https://github.com/google/ktsan.git kcsan 05f2236801fe d603afc9 .config console log report ci2-upstream-kcsan-gce
2019/10/29 05:14 https://github.com/google/ktsan.git kcsan 05f2236801fe 5ea87a66 .config console log report ci2-upstream-kcsan-gce
2019/10/28 16:26 https://github.com/google/ktsan.git kcsan 05f2236801fe 439d7b14 .config console log report ci2-upstream-kcsan-gce
2019/10/26 03:26 https://github.com/google/ktsan.git kcsan 05f2236801fe 413926c5 .config console log report ci2-upstream-kcsan-gce
2019/10/23 17:16 https://github.com/google/ktsan.git kcsan 05f2236801fe b602d64b .config console log report ci2-upstream-kcsan-gce
2019/10/23 03:38 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.