KCSAN: data-race in dd_has_work / deadline_remove_request (3)

4 views
Skip to first unread message

syzbot

unread,
Dec 7, 2020, 6:43:12 AM12/7/20
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 0477e928 Linux 5.10-rc7
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=150060bd500000
kernel config: https://syzkaller.appspot.com/x/.config?x=329e76890d0bf5c3
dashboard link: https://syzkaller.appspot.com/bug?extid=56a486ff98c23ebd68f0
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project.git 913f6005669cfb590c99865a90bc51ed0983d09d)
CC: [ax...@kernel.dk linux...@vger.kernel.org linux-...@vger.kernel.org]

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+56a486...@syzkaller.appspotmail.com

==================================================================
BUG: KCSAN: data-race in dd_has_work / deadline_remove_request

write to 0xffff8881036e5ca8 of 8 bytes by task 25893 on cpu 1:
__list_del include/linux/list.h:112 [inline]
__list_del_entry include/linux/list.h:135 [inline]
list_del_init include/linux/list.h:204 [inline]
deadline_remove_request+0x6a/0x180 block/mq-deadline.c:113
deadline_move_request block/mq-deadline.c:176 [inline]
__dd_dispatch_request block/mq-deadline.c:365 [inline]
dd_dispatch_request+0x690/0x730 block/mq-deadline.c:387
__blk_mq_do_dispatch_sched block/blk-mq-sched.c:146 [inline]
blk_mq_do_dispatch_sched+0x1df/0x610 block/blk-mq-sched.c:199
__blk_mq_sched_dispatch_requests+0x1fd/0x2a0 block/blk-mq-sched.c:310
blk_mq_sched_dispatch_requests+0x8f/0xf0 block/blk-mq-sched.c:341
__blk_mq_run_hw_queue+0xee/0x1c0 block/blk-mq.c:1532
__blk_mq_delay_run_hw_queue+0x17d/0x330 block/blk-mq.c:1609
blk_mq_run_hw_queue+0x231/0x260 block/blk-mq.c:1662
blk_mq_sched_insert_requests+0x144/0x210 block/blk-mq-sched.c:501
blk_mq_flush_plug_list+0x2f5/0x400 block/blk-mq.c:1932
blk_flush_plug_list+0x235/0x260 block/blk-core.c:1760
blk_finish_plug+0x44/0x60 block/blk-core.c:1777
__iomap_dio_rw+0x60f/0x9b0 fs/iomap/direct-io.c:539
iomap_dio_rw+0x30/0x70 fs/iomap/direct-io.c:605
ext4_dio_write_iter fs/ext4/file.c:552 [inline]
ext4_file_write_iter+0xe06/0x1090 fs/ext4/file.c:662
call_write_iter include/linux/fs.h:1903 [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

read to 0xffff8881036e5ca8 of 8 bytes by task 25910 on cpu 0:
list_empty_careful include/linux/list.h:319 [inline]
dd_has_work+0xfe/0x110 block/mq-deadline.c:590
__blk_mq_do_dispatch_sched block/blk-mq-sched.c:135 [inline]
blk_mq_do_dispatch_sched+0x138/0x610 block/blk-mq-sched.c:199
__blk_mq_sched_dispatch_requests+0x1fd/0x2a0 block/blk-mq-sched.c:310
blk_mq_sched_dispatch_requests+0x8f/0xf0 block/blk-mq-sched.c:341
__blk_mq_run_hw_queue+0xee/0x1c0 block/blk-mq.c:1532
__blk_mq_delay_run_hw_queue+0x17d/0x330 block/blk-mq.c:1609
blk_mq_run_hw_queue+0x231/0x260 block/blk-mq.c:1662
blk_mq_sched_insert_requests+0x144/0x210 block/blk-mq-sched.c:501
blk_mq_flush_plug_list+0x2f5/0x400 block/blk-mq.c:1932
blk_flush_plug_list+0x235/0x260 block/blk-core.c:1760
blk_finish_plug+0x44/0x60 block/blk-core.c:1777
__iomap_dio_rw+0x60f/0x9b0 fs/iomap/direct-io.c:539
iomap_dio_rw+0x30/0x70 fs/iomap/direct-io.c:605
ext4_dio_write_iter fs/ext4/file.c:552 [inline]
ext4_file_write_iter+0xe06/0x1090 fs/ext4/file.c:662
call_write_iter include/linux/fs.h:1903 [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: 25910 Comm: syz-executor.5 Not tainted 5.10.0-rc7-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Jan 11, 2021, 3:35:13 AM1/11/21
to syzkaller-upst...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages