[syzbot] [exfat?] KCSAN: data-race in dio_bio_end_io / dio_new_bio (3)

2 views
Skip to first unread message

syzbot

unread,
Aug 20, 2024, 6:07:29 AMAug 20
to hiro...@mail.parknet.co.jp, linki...@kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, sj155...@samsung.com, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 6e4436539ae1 Merge tag 'hid-for-linus-2024081901' of git:/..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=110c8de5980000
kernel config: https://syzkaller.appspot.com/x/.config?x=3aa0f597417bf8c7
dashboard link: https://syzkaller.appspot.com/bug?extid=fed24898593bed518bec
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/72e87ae72e3c/disk-6e443653.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/226d5b10603c/vmlinux-6e443653.xz
kernel image: https://storage.googleapis.com/syzbot-assets/edaf634acf3f/bzImage-6e443653.xz

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

loop0: detected capacity change from 0 to 8192
==================================================================
BUG: KCSAN: data-race in dio_bio_end_io / dio_new_bio

read-write to 0xffff888114c1e058 of 8 bytes by interrupt on cpu 1:
dio_bio_end_io+0x53/0xd0 fs/direct-io.c:388
bio_endio+0x369/0x410 block/bio.c:1646
blk_update_request+0x382/0x880 block/blk-mq.c:925
blk_mq_end_request+0x26/0x50 block/blk-mq.c:1053
lo_complete_rq+0xce/0x180 drivers/block/loop.c:386
blk_complete_reqs block/blk-mq.c:1128 [inline]
blk_done_softirq+0x74/0xb0 block/blk-mq.c:1133
handle_softirqs+0xc3/0x280 kernel/softirq.c:554
run_ksoftirqd+0x1c/0x30 kernel/softirq.c:928
smpboot_thread_fn+0x31c/0x4c0 kernel/smpboot.c:164
kthread+0x1d1/0x210 kernel/kthread.c:389
ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244

read to 0xffff888114c1e058 of 8 bytes by task 3990 on cpu 0:
dio_bio_reap fs/direct-io.c:551 [inline]
dio_new_bio+0x249/0x460 fs/direct-io.c:670
dio_send_cur_page+0x1f2/0x7a0 fs/direct-io.c:751
submit_page_section+0x1a3/0x5b0 fs/direct-io.c:816
do_direct_IO fs/direct-io.c:1031 [inline]
__blockdev_direct_IO+0x11c1/0x1e90 fs/direct-io.c:1249
blockdev_direct_IO include/linux/fs.h:3217 [inline]
fat_direct_IO+0x110/0x1e0 fs/fat/inode.c:282
generic_file_direct_write+0xaf/0x200 mm/filemap.c:3941
__generic_file_write_iter+0xae/0x120 mm/filemap.c:4107
generic_file_write_iter+0x7d/0x1d0 mm/filemap.c:4147
do_iter_readv_writev+0x3b0/0x470
vfs_writev+0x2e0/0x880 fs/read_write.c:971
do_pwritev fs/read_write.c:1072 [inline]
__do_sys_pwritev2 fs/read_write.c:1131 [inline]
__se_sys_pwritev2+0x10c/0x1d0 fs/read_write.c:1122
__x64_sys_pwritev2+0x78/0x90 fs/read_write.c:1122
x64_sys_call+0x271f/0x2d60 arch/x86/include/generated/asm/syscalls_64.h:329
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffff8881151e8e40 -> 0xffff888114d5bd80

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 3990 Comm: syz.0.161 Not tainted 6.11.0-rc4-syzkaller-00008-g6e4436539ae1 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
==================================================================


---
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.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages