syzbot


KCSAN: data-race in bio_endio / blk_throtl_bio

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

Sample crash report:
==================================================================
BUG: KCSAN: data-race in bio_endio / blk_throtl_bio

read to 0xffff8881237ca494 of 2 bytes by interrupt on cpu 1:
 bio_remaining_done block/bio.c:1760 [inline]
 bio_endio+0x3e/0x400 block/bio.c:1790
 req_bio_endio block/blk-core.c:245 [inline]
 blk_update_request+0x427/0x7b0 block/blk-core.c:1464
 scsi_end_request+0x6b/0x360 drivers/scsi/scsi_lib.c:576
 scsi_io_completion+0x11d/0xc80 drivers/scsi/scsi_lib.c:960
 scsi_finish_command+0x283/0x380 drivers/scsi/scsi.c:228
 scsi_softirq_done+0x259/0x280 drivers/scsi/scsi_lib.c:1476
 blk_done_softirq+0x1eb/0x250 block/blk-softirq.c:37
 __do_softirq+0x115/0x33f kernel/softirq.c:292
 do_softirq_own_stack+0x2a/0x40 arch/x86/entry/entry_64.S:1082
 do_softirq.part.0+0x6b/0x80 kernel/softirq.c:337
 do_softirq kernel/softirq.c:329 [inline]
 __local_bh_enable_ip+0x76/0x80 kernel/softirq.c:189
 local_bh_enable include/linux/bottom_half.h:32 [inline]
 rcu_read_unlock_bh include/linux/rcupdate.h:706 [inline]
 ip6_finish_output2+0x730/0xf60 net/ipv6/ip6_output.c:117
 ip6_fragment+0x108c/0x1270 net/ipv6/ip6_output.c:860
 __ip6_finish_output net/ipv6/ip6_output.c:140 [inline]
 __ip6_finish_output+0x2f9/0x330 net/ipv6/ip6_output.c:127
 ip6_finish_output+0x41/0x160 net/ipv6/ip6_output.c:152
 NF_HOOK_COND include/linux/netfilter.h:296 [inline]
 ip6_output+0x108/0x290 net/ipv6/ip6_output.c:175
 dst_output include/net/dst.h:436 [inline]
 ip6_local_out+0x74/0x90 net/ipv6/output_core.c:179
 ip6_send_skb+0x53/0x110 net/ipv6/ip6_output.c:1795
 ip6_push_pending_frames+0x9d/0xc0 net/ipv6/ip6_output.c:1815
 rawv6_push_pending_frames net/ipv6/raw.c:613 [inline]
 rawv6_sendmsg+0x1e59/0x2340 net/ipv6/raw.c:956
 inet_sendmsg+0x6d/0x90 net/ipv4/af_inet.c:807
 sock_sendmsg_nosec net/socket.c:639 [inline]
 sock_sendmsg+0x9f/0xc0 net/socket.c:659
 __sys_sendto+0x21f/0x320 net/socket.c:1985
 __do_sys_sendto net/socket.c:1997 [inline]
 __se_sys_sendto net/socket.c:1993 [inline]
 __x64_sys_sendto+0x89/0xb0 net/socket.c:1993
 do_syscall_64+0xcc/0x3a0 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

write to 0xffff8881237ca494 of 2 bytes by task 9713 on cpu 0:
 bio_set_flag include/linux/bio.h:239 [inline]
 blk_throtl_bio+0x162/0x1a90 block/blk-throttle.c:2270
 blkcg_bio_issue_check include/linux/blk-cgroup.h:602 [inline]
 generic_make_request_checks+0x6fa/0x1040 block/blk-core.c:964
 generic_make_request+0x3e/0x700 block/blk-core.c:1020
 __blk_queue_split+0x779/0xc40 block/blk-merge.c:347
 blk_mq_make_request+0x104/0xf60 block/blk-mq.c:1920
 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
 iomap_dio_submit_bio.isra.0+0xfc/0x120 fs/iomap/direct-io.c:70
 iomap_dio_bio_actor+0x40a/0x960 fs/iomap/direct-io.c:306
 iomap_dio_actor+0x87/0x3a0 fs/iomap/direct-io.c:382
 iomap_apply+0x20d/0x6a0 fs/iomap/apply.c:80
 iomap_dio_rw+0x67e/0x9a0 fs/iomap/direct-io.c:498
 ext4_dio_write_iter fs/ext4/file.c:438 [inline]
 ext4_file_write_iter+0xc38/0xd40 fs/ext4/file.c:545
 call_write_iter include/linux/fs.h:1902 [inline]
 new_sync_write+0x388/0x4a0 fs/read_write.c:483
 __vfs_write+0xb1/0xc0 fs/read_write.c:496
 vfs_write fs/read_write.c:558 [inline]
 vfs_write+0x18a/0x390 fs/read_write.c:542
 ksys_write+0xd5/0x1b0 fs/read_write.c:611
 __do_sys_write fs/read_write.c:623 [inline]
 __se_sys_write fs/read_write.c:620 [inline]
 __x64_sys_write+0x4c/0x60 fs/read_write.c:620
 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: 0 PID: 9713 Comm: syz-executor.4 Not tainted 5.5.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (29):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/02/06 12:17 https://github.com/google/ktsan.git kcsan 245a43005292 5be3a391 .config console log report ci2-upstream-kcsan-gce
2020/01/29 16:08 https://github.com/google/ktsan.git kcsan 245a43005292 5ed23f9a .config console log report ci2-upstream-kcsan-gce
2020/01/27 20:26 https://github.com/google/ktsan.git kcsan 245a43005292 56cd6c9b .config console log report ci2-upstream-kcsan-gce
2020/01/23 03:03 https://github.com/google/ktsan.git kcsan 245a43005292 3334d684 .config console log report ci2-upstream-kcsan-gce
2020/01/17 05:13 https://github.com/google/ktsan.git kcsan 245a43005292 3de7aabb .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/10 19:19 https://github.com/google/ktsan.git kcsan 245a43005292 532ec44e .config console log report ci2-upstream-kcsan-gce
2020/01/07 20:45 https://github.com/google/ktsan.git kcsan 245a43005292 1bcd407e .config console log report ci2-upstream-kcsan-gce
2020/01/07 06:28 https://github.com/google/ktsan.git kcsan 245a43005292 53430d97 .config console log report ci2-upstream-kcsan-gce
2020/01/06 03:20 https://github.com/google/ktsan.git kcsan 245a43005292 438e1227 .config console log report ci2-upstream-kcsan-gce
2020/01/02 08:42 https://github.com/google/ktsan.git kcsan 245a43005292 25a0186e .config console log report ci2-upstream-kcsan-gce
2019/12/28 20:14 https://github.com/google/ktsan.git kcsan 245a43005292 af6b8ef8 .config console log report ci2-upstream-kcsan-gce
2019/12/26 12:11 https://github.com/google/ktsan.git kcsan 245a43005292 be5c2c81 .config console log report ci2-upstream-kcsan-gce
2019/12/20 11:10 https://github.com/google/ktsan.git kcsan 245a43005292 36650b4b .config console log report ci2-upstream-kcsan-gce
2019/12/18 16:49 https://github.com/google/ktsan.git kcsan 245a43005292 64ca0a37 .config console log report ci2-upstream-kcsan-gce
2019/12/12 23:40 https://github.com/google/ktsan.git kcsan ef798c30ba4e 08003f64 .config console log report ci2-upstream-kcsan-gce
2019/12/10 21:31 https://github.com/google/ktsan.git kcsan ef798c30ba4e 101194eb .config console log report ci2-upstream-kcsan-gce
2019/12/03 20:19 https://github.com/google/ktsan.git kcsan ef798c30ba4e 0ecb9746 .config console log report ci2-upstream-kcsan-gce
2019/12/01 16:39 https://github.com/google/ktsan.git kcsan ef798c30ba4e a76bf83f .config console log report ci2-upstream-kcsan-gce
2019/11/30 02:57 https://github.com/google/ktsan.git kcsan ef798c30ba4e 3a75be00 .config console log report ci2-upstream-kcsan-gce
2019/11/24 06:44 https://github.com/google/ktsan.git kcsan 5863cc791e4c 598ca6c8 .config console log report ci2-upstream-kcsan-gce
2019/11/20 05:26 https://github.com/google/ktsan.git kcsan 5863cc791e4c 432c7650 .config console log report ci2-upstream-kcsan-gce
2019/11/18 18:39 https://github.com/google/ktsan.git kcsan 5863cc791e4c d5696d51 .config console log report ci2-upstream-kcsan-gce
2019/11/13 19:31 https://github.com/google/ktsan.git kcsan 7f2955e0d056 048f2d49 .config console log report ci2-upstream-kcsan-gce
2019/11/09 11:59 https://github.com/google/ktsan.git kcsan 94c006602e13 1e35461e .config console log report ci2-upstream-kcsan-gce
2019/10/30 21:31 https://github.com/google/ktsan.git kcsan 05f2236801fe a41ca8fa .config console log report ci2-upstream-kcsan-gce
2019/10/29 04:29 https://github.com/google/ktsan.git kcsan 05f2236801fe 5ea87a66 .config console log report ci2-upstream-kcsan-gce
2019/10/26 16:41 https://github.com/google/ktsan.git kcsan 05f2236801fe 25bb509e .config console log report ci2-upstream-kcsan-gce
2019/10/24 08:27 https://github.com/google/ktsan.git kcsan 05f2236801fe d01bb02a .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.