syzbot


KCSAN: data-race in kthread_is_per_cpu / wb_workfn

Status: auto-closed as invalid on 2021/07/01 19:59
Subsystems: fs
[Documentation on labels]
First crash: 1082d, last: 1064d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in kthread_is_per_cpu / wb_workfn

write to 0xffff88812c56606c of 4 bytes by task 28826 on cpu 0:
 wb_workfn+0x78/0x520 fs/fs-writeback.c:2080
 process_one_work+0x3e9/0x8f0 kernel/workqueue.c:2276
 worker_thread+0x636/0xae0 kernel/workqueue.c:2422
 kthread+0x1d0/0x1f0 kernel/kthread.c:313
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294

read to 0xffff88812c56606c of 4 bytes by interrupt on cpu 1:
 __to_kthread kernel/kthread.c:101 [inline]
 kthread_is_per_cpu+0x2d/0x80 kernel/kthread.c:540
 can_migrate_task+0xf/0x180 kernel/sched/fair.c:7615
 detach_tasks+0xab/0x380 kernel/sched/fair.c:7779
 load_balance+0x768/0xcc0 kernel/sched/fair.c:9679
 rebalance_domains+0x1ae/0x2d0 kernel/sched/fair.c:10058
 __do_softirq+0x12c/0x275 kernel/softirq.c:559
 invoke_softirq kernel/softirq.c:433 [inline]
 __irq_exit_rcu+0xa5/0xb0 kernel/softirq.c:637
 sysvec_apic_timer_interrupt+0x69/0x80 arch/x86/kernel/apic/apic.c:1100
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:647
 get_ctx kernel/kcsan/core.c:202 [inline]
 check_access kernel/kcsan/core.c:630 [inline]
 __tsan_read4+0x108/0x180 kernel/kcsan/core.c:844
 __tlb_remove_page_size+0x35/0x180 mm/mmu_gather.c:81
 __tlb_remove_page include/asm-generic/tlb.h:440 [inline]
 zap_pte_range+0x626/0xe20 mm/memory.c:1273
 zap_pmd_range mm/memory.c:1374 [inline]
 zap_pud_range mm/memory.c:1403 [inline]
 zap_p4d_range mm/memory.c:1424 [inline]
 unmap_page_range+0x2dc/0x3d0 mm/memory.c:1445
 unmap_single_vma+0x157/0x210 mm/memory.c:1490
 unmap_vmas+0xc0/0x170 mm/memory.c:1522
 exit_mmap+0x1be/0x400 mm/mmap.c:3208
 __mmput+0x27/0x1c0 kernel/fork.c:1096
 mmput+0x3d/0x50 kernel/fork.c:1117
 exit_mm+0x360/0x450 kernel/exit.c:502
 do_exit+0x3ff/0x1560 kernel/exit.c:813
 do_group_exit+0xce/0x1a0 kernel/exit.c:923
 get_signal+0xfc3/0x1610 kernel/signal.c:2835
 arch_do_signal_or_restart+0x2a/0x220 arch/x86/kernel/signal.c:789
 handle_signal_work kernel/entry/common.c:147 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:171 [inline]
 exit_to_user_mode_prepare+0x109/0x190 kernel/entry/common.c:208
 __syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
 syscall_exit_to_user_mode+0x20/0x40 kernel/entry/common.c:301
 do_syscall_64+0x56/0x90 arch/x86/entry/common.c:57
 entry_SYSCALL_64_after_hwframe+0x44/0xae

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 336 Comm: syz-executor.5 Not tainted 5.13.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/05/27 19:52 upstream d7c5303fbc8a 858ea628 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kthread_is_per_cpu / wb_workfn
2021/05/25 03:39 upstream 1434a3127887 3c7fef33 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kthread_is_per_cpu / wb_workfn
2021/05/21 20:05 upstream 79a106fc6585 3c7fef33 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kthread_is_per_cpu / wb_workfn
2021/05/20 14:57 upstream c3d0e3fd41b7 c560a65d .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kthread_is_per_cpu / wb_workfn
2021/05/15 13:39 upstream 25a1298726e9 93f844de .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kthread_is_per_cpu / wb_workfn
2021/05/10 12:20 upstream 6efb943b8616 ca873091 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kthread_is_per_cpu / wb_workfn
* Struck through repros no longer work on HEAD.