syzbot


KCSAN: data-race in __mod_timer / blk_add_timer (7)

Status: auto-obsoleted due to no activity on 2023/07/28 08:54
Subsystems: block
[Documentation on labels]
First crash: 330d, last: 313d
Similar bugs (7)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in __mod_timer / blk_add_timer (6) block 1 393d 373d 0/26 auto-obsoleted due to no activity on 2023/05/09 08:21
upstream KCSAN: data-race in __mod_timer / blk_add_timer block 2 1076d 1110d 0/26 auto-closed as invalid on 2021/06/25 00:11
upstream KCSAN: data-race in __mod_timer / blk_add_timer (3) block 8 851d 950d 0/26 auto-closed as invalid on 2022/02/04 22:18
upstream KCSAN: data-race in __mod_timer / blk_add_timer (2) block 2 1001d 1032d 0/26 auto-closed as invalid on 2021/09/07 18:24
upstream KCSAN: data-race in __mod_timer / blk_add_timer (4) block 2 759d 777d 0/26 auto-closed as invalid on 2022/05/08 11:46
upstream KCSAN: data-race in __mod_timer / blk_add_timer (5) block 1 615d 615d 0/26 auto-closed as invalid on 2022/09/29 13:43
upstream KCSAN: data-race in __mod_timer / blk_add_timer (8) block 7 105d 143d 0/26 auto-obsoleted due to no activity on 2024/02/20 17:38

Sample crash report:
==================================================================
BUG: KCSAN: data-race in __mod_timer / blk_add_timer

write to 0xffff888101aabc48 of 8 bytes by task 73 on cpu 0:
 __mod_timer+0x5fd/0x860 kernel/time/timer.c:1121
 mod_timer+0x1f/0x30 kernel/time/timer.c:1190
 blk_mq_timeout_work+0x185/0x350 block/blk-mq.c:1646
 process_one_work+0x3e6/0x750 kernel/workqueue.c:2405
 worker_thread+0x5f2/0xa10 kernel/workqueue.c:2552
 kthread+0x1d7/0x210 kernel/kthread.c:379
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:308

read to 0xffff888101aabc48 of 8 bytes by task 20731 on cpu 1:
 blk_add_timer+0x118/0x190
 blk_mq_start_request+0x100/0x270 block/blk-mq.c:1233
 scsi_queue_rq+0x143b/0x19a0 drivers/scsi/scsi_lib.c:1760
 blk_mq_dispatch_rq_list+0x7b1/0x11b0 block/blk-mq.c:2035
 __blk_mq_do_dispatch_sched block/blk-mq-sched.c:170 [inline]
 blk_mq_do_dispatch_sched block/blk-mq-sched.c:184 [inline]
 __blk_mq_sched_dispatch_requests+0x69a/0xdd0 block/blk-mq-sched.c:309
 blk_mq_sched_dispatch_requests+0x93/0x100 block/blk-mq-sched.c:333
 blk_mq_run_hw_queue+0x290/0x4b0 block/blk-mq.c:2249
 blk_mq_flush_plug_list+0x9d3/0xc00 block/blk-mq.c:2783
 blk_add_rq_to_plug+0x102/0x3d0 block/blk-mq.c:1266
 blk_mq_submit_bio+0xa0a/0xe40 block/blk-mq.c:2979
 __submit_bio+0x116/0x350 block/blk-core.c:594
 __submit_bio_noacct_mq block/blk-core.c:673 [inline]
 submit_bio_noacct_nocheck+0x4ad/0x5e0 block/blk-core.c:702
 submit_bio_noacct+0x74a/0x8f0 block/blk-core.c:801
 submit_bio+0xb7/0xc0 block/blk-core.c:834
 ext4_io_submit fs/ext4/page-io.c:378 [inline]
 io_submit_add_bh fs/ext4/page-io.c:419 [inline]
 ext4_bio_write_folio+0x65f/0x8d0 fs/ext4/page-io.c:563
 mpage_submit_folio fs/ext4/inode.c:1889 [inline]
 mpage_map_and_submit_buffers fs/ext4/inode.c:2135 [inline]
 mpage_map_and_submit_extent fs/ext4/inode.c:2275 [inline]
 ext4_do_writepages+0x1416/0x21e0 fs/ext4/inode.c:2703
 ext4_writepages+0x15e/0x2e0 fs/ext4/inode.c:2792
 do_writepages+0x1c5/0x340 mm/page-writeback.c:2551
 filemap_fdatawrite_wbc+0xdb/0xf0 mm/filemap.c:390
 __filemap_fdatawrite_range mm/filemap.c:423 [inline]
 __filemap_fdatawrite mm/filemap.c:429 [inline]
 filemap_flush+0x95/0xc0 mm/filemap.c:456
 ext4_alloc_da_blocks+0x50/0x130 fs/ext4/inode.c:3056
 ext4_release_file+0x5f/0x1c0 fs/ext4/file.c:158
 __fput+0x245/0x570 fs/file_table.c:321
 ____fput+0x15/0x20 fs/file_table.c:349
 task_work_run+0x135/0x1a0 kernel/task_work.c:179
 exit_task_work include/linux/task_work.h:38 [inline]
 do_exit+0x5ff/0x1670 kernel/exit.c:874
 do_group_exit+0x101/0x150 kernel/exit.c:1024
 get_signal+0xeb7/0xff0 kernel/signal.c:2876
 arch_do_signal_or_restart+0x89/0x2a0 arch/x86/kernel/signal.c:306
 exit_to_user_mode_loop+0x6f/0xe0 kernel/entry/common.c:168
 exit_to_user_mode_prepare+0x6c/0xb0 kernel/entry/common.c:204
 irqentry_exit_to_user_mode+0x9/0x20 kernel/entry/common.c:310
 irqentry_exit+0x12/0x40 kernel/entry/common.c:413
 exc_general_protection+0x339/0x4c0 arch/x86/kernel/traps.c:728
 asm_exc_general_protection+0x26/0x30 arch/x86/include/asm/idtentry.h:564

value changed: 0x00000001000047bb -> 0x0000000100005100

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 20731 Comm: syz-executor.4 Not tainted 6.4.0-rc7-syzkaller-00194-g8a28a0b6f1a1 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023
==================================================================
syz-executor.4 (20731) used greatest stack depth: 8808 bytes left

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/23 08:50 upstream 8a28a0b6f1a1 79782afc .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mod_timer / blk_add_timer
2023/06/06 15:55 upstream a4d7d7011219 a4ae4f42 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __mod_timer / blk_add_timer
* Struck through repros no longer work on HEAD.