syzbot


KCSAN: data-race in calc_wb_limits.part.0 / wbt_track

Status: closed as invalid on 2019/11/19 13:54
Subsystems: block
[Documentation on labels]
First crash: 1628d, last: 1625d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in calc_wb_limits.part.0 / wbt_track (2) block 6 1413d 1596d 0/26 closed as invalid on 2020/06/18 14:24

Sample crash report:
==================================================================
BUG: KCSAN: data-race in calc_wb_limits.part.0 / wbt_track

write to 0xffff888129c65a04 of 4 bytes by interrupt on cpu 1:
 calc_wb_limits.part.0+0x7b/0xb0 block/blk-wbt.c:304
 calc_wb_limits block/blk-wbt.c:298 [inline]
 scale_up block/blk-wbt.c:313 [inline]
 scale_up+0x7f/0x250 block/blk-wbt.c:309
 wb_timer_fn+0x2cd/0xad0 block/blk-wbt.c:393
 blk_stat_timer_fn+0x3b0/0x3d0 block/blk-stat.c:98
 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:830
 matching_access kernel/kcsan/encoding.h:89 [inline]
 find_watchpoint kernel/kcsan/core.c:77 [inline]
 check_access kernel/kcsan/core.c:388 [inline]
 __tsan_read8+0x2d/0x1f0 kernel/kcsan/core.c:530
 copy_msghdr_from_user+0x20d/0x320 net/socket.c:2230
 ___sys_recvmsg+0xb9/0x3e0 net/socket.c:2468
 do_recvmmsg+0x19a/0x5c0 net/socket.c:2601
 __sys_recvmmsg+0x9d/0x200 net/socket.c:2682
 __do_sys_recvmmsg net/socket.c:2703 [inline]
 __se_sys_recvmmsg net/socket.c:2696 [inline]
 __x64_sys_recvmmsg+0x89/0xb0 net/socket.c:2696
 do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffff888129c65a04 of 4 bytes by task 22398 on cpu 0:
 rwb_enabled block/blk-wbt.c:80 [inline]
 bio_to_wbt_flags block/blk-wbt.c:551 [inline]
 wbt_track+0x39/0xa0 block/blk-wbt.c:600
 __rq_qos_track+0x52/0x80 block/blk-rq-qos.c:81
 rq_qos_track block/blk-rq-qos.h:189 [inline]
 blk_mq_make_request+0x32e/0xf60 block/blk-mq.c:1984
 generic_make_request block/blk-core.c:1064 [inline]
 generic_make_request+0x196/0x740 block/blk-core.c:1006
 submit_bio+0x96/0x3c0 block/blk-core.c:1190
 mpage_bio_submit fs/mpage.c:66 [inline]
 mpage_readpages+0x36c/0x3c0 fs/mpage.c:410
 blkdev_readpages+0x36/0x50 fs/block_dev.c:620
 read_pages+0xa2/0x2d0 mm/readahead.c:126
 __do_page_cache_readahead+0x353/0x390 mm/readahead.c:212
 force_page_cache_readahead+0x13a/0x1f0 mm/readahead.c:243
 page_cache_sync_readahead+0x1cf/0x1e0 mm/readahead.c:522
 generic_file_buffered_read mm/filemap.c:2051 [inline]
 generic_file_read_iter+0xeb6/0x1440 mm/filemap.c:2324
 blkdev_read_iter+0xb2/0xe0 fs/block_dev.c:2010
 call_read_iter include/linux/fs.h:1889 [inline]
 new_sync_read+0x389/0x4f0 fs/read_write.c:414
 __vfs_read+0xb1/0xc0 fs/read_write.c:427
 vfs_read fs/read_write.c:461 [inline]
 vfs_read+0x143/0x2c0 fs/read_write.c:446
 ksys_read+0xd5/0x1b0 fs/read_write.c:587
 __do_sys_read fs/read_write.c:597 [inline]
 __se_sys_read fs/read_write.c:595 [inline]
 __x64_sys_read+0x4c/0x60 fs/read_write.c:595
 do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 22398 Comm: blkid Not tainted 5.4.0-rc6+ #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/11/06 06:27 https://github.com/google/ktsan.git kcsan 94c006602e13 bc2c6e45 .config console log report ci2-upstream-kcsan-gce
2019/11/02 18:26 https://github.com/google/ktsan.git kcsan 05f2236801fe 997ccc67 .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.