syzbot


KCSAN: data-race in wb_timer_fn / wbt_inflight_cb (2)

Status: auto-closed as invalid on 2021/03/02 02:09
Subsystems: block
[Documentation on labels]
Reported-by: syzbot+bc8df8e864fb2068f890@syzkaller.appspotmail.com
First crash: 1329d, last: 1179d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in wb_timer_fn / wbt_inflight_cb (3) block 1 1103d 1103d 0/26 auto-closed as invalid on 2021/05/17 08:41
upstream KCSAN: data-race in wb_timer_fn / wbt_inflight_cb block 5 1368d 1386d 0/26 auto-closed as invalid on 2020/08/25 18:17

Sample crash report:
==================================================================
BUG: KCSAN: data-race in wb_timer_fn / wbt_inflight_cb

write to 0xffff8881024a2e04 of 4 bytes by interrupt on cpu 1:
 calc_wb_limits block/blk-wbt.c:304 [inline]
 scale_up block/blk-wbt.c:313 [inline]
 wb_timer_fn+0x403/0xa00 block/blk-wbt.c:382
 blk_stat_timer_fn+0x3f4/0x410 block/blk-stat.c:99
 call_timer_fn+0x2e/0x240 kernel/time/timer.c:1417
 expire_timers+0x116/0x260 kernel/time/timer.c:1462
 __run_timers+0x338/0x3d0 kernel/time/timer.c:1731
 run_timer_softirq+0x19/0x30 kernel/time/timer.c:1744
 __do_softirq+0x13c/0x2c3 kernel/softirq.c:343
 asm_call_irq_on_stack+0xf/0x20
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77
 invoke_softirq kernel/softirq.c:226 [inline]
 __irq_exit_rcu+0xb4/0xc0 kernel/softirq.c:420
 sysvec_apic_timer_interrupt+0x74/0x90 arch/x86/kernel/apic/apic.c:1096
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628
 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline]
 arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline]
 kcsan_setup_watchpoint+0x1fc/0x4e0 kernel/kcsan/core.c:591
 raw_hash_sk+0x2f/0x160 net/ipv4/raw.c:95
 inet6_create+0x62c/0x720 net/ipv6/af_inet6.c:249
 __sock_create+0x2cc/0x4f0 net/socket.c:1406
 sock_create_kern+0x34/0x40 net/socket.c:1475
 inet_ctl_sock_create+0x3e/0xf0 net/ipv4/af_inet.c:1653
 tcpv6_net_init+0x27/0x30 net/ipv6/tcp_ipv6.c:2176
 ops_init+0x1e7/0x230 net/core/net_namespace.c:152
 setup_net+0x12b/0x640 net/core/net_namespace.c:342
 copy_net_ns+0x2a9/0x450 net/core/net_namespace.c:483
 create_new_namespaces+0x231/0x560 kernel/nsproxy.c:110
 unshare_nsproxy_namespaces+0xe2/0x120 kernel/nsproxy.c:226
 ksys_unshare+0x38a/0x690 kernel/fork.c:2955
 __do_sys_unshare kernel/fork.c:3023 [inline]
 __se_sys_unshare kernel/fork.c:3021 [inline]
 __x64_sys_unshare+0x1b/0x20 kernel/fork.c:3021
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff8881024a2e04 of 4 bytes by task 12432 on cpu 0:
 rwb_enabled block/blk-wbt.c:80 [inline]
 get_limit block/blk-wbt.c:458 [inline]
 wbt_inflight_cb+0x3f/0x220 block/blk-wbt.c:495
 rq_qos_wait+0xac/0x210 block/blk-rq-qos.c:266
 __wbt_wait block/blk-wbt.c:518 [inline]
 wbt_wait+0x1bb/0x2b0 block/blk-wbt.c:583
 __rq_qos_throttle+0x39/0x70 block/blk-rq-qos.c:72
 rq_qos_throttle block/blk-rq-qos.h:182 [inline]
 blk_mq_submit_bio+0x229/0x1000 block/blk-mq.c:2158
 __submit_bio_noacct_mq block/blk-core.c:1028 [inline]
 submit_bio_noacct+0x75d/0x910 block/blk-core.c:1061
 submit_bio+0x1f3/0x350 block/blk-core.c:1131
 submit_bh_wbc+0x392/0x3d0 fs/buffer.c:3054
 submit_bh fs/buffer.c:3060 [inline]
 __sync_dirty_buffer+0x12c/0x1d0 fs/buffer.c:3155
 sync_dirty_buffer+0x16/0x20 fs/buffer.c:3168
 __fat_write_inode+0x492/0x4d0 fs/fat/inode.c:898
 fat_write_inode+0xb9/0xd0 fs/fat/inode.c:914
 write_inode+0x8c/0x1f0 fs/fs-writeback.c:1320
 __writeback_single_inode+0x2a7/0x500 fs/fs-writeback.c:1518
 writeback_single_inode+0x126/0x580 fs/fs-writeback.c:1572
 sync_inode fs/fs-writeback.c:2604 [inline]
 sync_inode_metadata+0x52/0x70 fs/fs-writeback.c:2624
 __generic_file_fsync+0xf5/0x140 fs/libfs.c:1087
 fat_file_fsync+0x48/0x100 fs/fat/file.c:190
 vfs_fsync_range+0x107/0x120 fs/sync.c:200
 generic_write_sync include/linux/fs.h:2737 [inline]
 generic_file_write_iter+0x103/0x130 mm/filemap.c:3573
 call_write_iter include/linux/fs.h:1901 [inline]
 do_iter_readv_writev+0x2cb/0x360 fs/read_write.c:740
 do_iter_write+0x112/0x4b0 fs/read_write.c:866
 vfs_iter_write+0x4c/0x70 fs/read_write.c:907
 iter_file_splice_write+0x42a/0x780 fs/splice.c:686
 do_splice_from fs/splice.c:764 [inline]
 direct_splice_actor+0x80/0xa0 fs/splice.c:933
 splice_direct_to_actor+0x345/0x650 fs/splice.c:888
 do_splice_direct+0xf5/0x170 fs/splice.c:976
 do_sendfile+0x5db/0xca0 fs/read_write.c:1257
 __do_sys_sendfile64 fs/read_write.c:1318 [inline]
 __se_sys_sendfile64 fs/read_write.c:1304 [inline]
 __x64_sys_sendfile64+0xf2/0x130 fs/read_write.c:1304
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:46
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 12432 Comm: syz-executor.3 Not tainted 5.11.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (11):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/01/26 02:09 upstream f8ad8187c3b5 52e37319 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in wb_timer_fn / wbt_inflight_cb
2021/01/12 02:11 upstream a0d54b4f5b21 2c1f2513 .config console log report info ci2-upstream-kcsan-gce
2020/12/25 03:32 upstream 3913d00ac51a c2c1d1dd .config console log report info ci2-upstream-kcsan-gce
2020/12/17 11:52 upstream accefff5b547 04201c06 .config console log report info ci2-upstream-kcsan-gce
2020/12/15 00:15 upstream fab0fca1da5c 97183ed7 .config console log report info ci2-upstream-kcsan-gce
2020/12/10 11:25 upstream a2f5ea9e314b 2a55c22b .config console log report info ci2-upstream-kcsan-gce
2020/11/11 14:57 upstream eccc87672492 cca87986 .config console log report info ci2-upstream-kcsan-gce
2020/10/31 11:08 upstream 5fc6b075e165 8bc4594f .config console log report info ci2-upstream-kcsan-gce
2020/10/01 11:06 upstream 60e720931556 4103fce0 .config console log report info ci2-upstream-kcsan-gce
2020/09/05 15:05 upstream c70672d8d316 abf9ba4f .config console log report ci2-upstream-kcsan-gce
2020/08/29 15:19 upstream 4d41ead6ead9 d5a3ae1f .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.