syzbot


KCSAN: data-race in dio_bio_end_io / dio_new_bio (3)

Status: upstream: reported on 2024/08/20 10:07
Subsystems: exfat
[Documentation on labels]
Reported-by: syzbot+fed24898593bed518bec@syzkaller.appspotmail.com
First crash: 23d, last: 2h28m
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [exfat?] KCSAN: data-race in dio_bio_end_io / dio_new_bio (3) 0 (1) 2024/08/20 10:07
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in dio_bio_end_io / dio_new_bio exfat 11 326d 438d 0/27 auto-obsoleted due to no activity on 2023/11/25 15:37
upstream KCSAN: data-race in dio_bio_end_io / dio_new_bio (2) exfat 1 249d 246d 0/27 auto-obsoleted due to no activity on 2024/02/11 03:04

Sample crash report:
==================================================================
BUG: KCSAN: data-race in dio_bio_end_io / dio_new_bio

read-write to 0xffff88810407a058 of 8 bytes by interrupt on cpu 0:
 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
 __do_softirq kernel/softirq.c:588 [inline]
 invoke_softirq kernel/softirq.c:428 [inline]
 __irq_exit_rcu kernel/softirq.c:637 [inline]
 irq_exit_rcu+0x3e/0x90 kernel/softirq.c:649
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1043 [inline]
 sysvec_apic_timer_interrupt+0x73/0x80 arch/x86/kernel/apic/apic.c:1043
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
 selinux_file_permission+0x246/0x360 security/selinux/hooks.c:3638
 security_file_permission+0x43/0x70 security/security.c:2722
 rw_verify_area fs/read_write.c:377 [inline]
 vfs_iter_write+0x152/0x5d0 fs/read_write.c:890
 lo_write_bvec drivers/block/loop.c:243 [inline]
 lo_write_simple drivers/block/loop.c:264 [inline]
 do_req_filebacked drivers/block/loop.c:511 [inline]
 loop_handle_cmd drivers/block/loop.c:1910 [inline]
 loop_process_work+0xad3/0x1230 drivers/block/loop.c:1945
 loop_workfn+0x31/0x40 drivers/block/loop.c:1969
 process_one_work kernel/workqueue.c:3231 [inline]
 process_scheduled_works+0x483/0x9a0 kernel/workqueue.c:3312
 worker_thread+0x526/0x6e0 kernel/workqueue.c:3389
 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 0xffff88810407a058 of 8 bytes by task 10676 on cpu 1:
 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:3218 [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: 0xffff888142f0ea80 -> 0xffff888142f0e540

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 10676 Comm: syz.0.972 Not tainted 6.11.0-rc7-syzkaller-00039-g77f587896757 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
==================================================================

Crashes (5):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/09/12 11:26 upstream 77f587896757 60e1a995 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in dio_bio_end_io / dio_new_bio
2024/09/04 05:08 upstream 88fac17500f4 326f9c5a .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in dio_bio_end_io / dio_new_bio
2024/09/02 01:48 upstream c9f016e72b5c 1eda0d14 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in dio_bio_end_io / dio_new_bio
2024/09/01 02:14 upstream e8784b0aef62 1eda0d14 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in dio_bio_end_io / dio_new_bio
2024/08/20 09:55 upstream 6e4436539ae1 9f0ab3fb .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in dio_bio_end_io / dio_new_bio
* Struck through repros no longer work on HEAD.