syzbot


KCSAN: data-race in getboottime64 / timekeeping_advance

Status: closed as invalid on 2019/11/19 14:44
Subsystems: kernel
[Documentation on labels]
First crash: 1638d, last: 1622d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in getboottime64 / timekeeping_advance

write to 0xffffffff86041b08 of 280 bytes by interrupt on cpu 0:
 timekeeping_advance+0x88e/0xd80 include/linux/string.h:378
 update_wall_time+0x19/0x20 kernel/time/timekeeping.c:2137
 tick_do_update_jiffies64+0x1a4/0x250 kernel/time/tick-sched.c:94
 tick_sched_do_timer+0xd4/0xe0 kernel/time/tick-sched.c:138
 tick_sched_timer+0x43/0xe0 kernel/time/tick-sched.c:1292
 __run_hrtimer kernel/time/hrtimer.c:1514 [inline]
 __hrtimer_run_queues+0x274/0x5f0 kernel/time/hrtimer.c:1576
 hrtimer_interrupt+0x22a/0x480 kernel/time/hrtimer.c:1638
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1110 [inline]
 smp_apic_timer_interrupt+0xdc/0x280 arch/x86/kernel/apic/apic.c:1135
 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:830
 __read_once_size+0x6/0xe0 include/linux/compiler.h:225
 compound_head include/linux/page-flags.h:174 [inline]
 get_page include/linux/mm.h:1023 [inline]
 copy_one_pte mm/memory.c:772 [inline]
 copy_pte_range mm/memory.c:823 [inline]
 copy_pmd_range mm/memory.c:874 [inline]
 copy_pud_range mm/memory.c:908 [inline]
 copy_p4d_range mm/memory.c:930 [inline]
 copy_page_range+0xc90/0x1a80 mm/memory.c:992
 dup_mmap kernel/fork.c:601 [inline]
 dup_mm+0x74a/0xba0 kernel/fork.c:1361
 copy_mm kernel/fork.c:1417 [inline]
 copy_process+0x36f3/0x3b50 kernel/fork.c:2012
 _do_fork+0xfe/0x6e0 kernel/fork.c:2366
 __do_sys_clone kernel/fork.c:2521 [inline]
 __se_sys_clone kernel/fork.c:2502 [inline]
 __x64_sys_clone+0x12b/0x160 kernel/fork.c:2502
 do_syscall_64+0xcc/0x370 arch/x86/entry/common.c:290
 entry_SYSCALL_64_after_hwframe+0x44/0xa9

read to 0xffffffff86041b98 of 8 bytes by task 3501 on cpu 1:
 getboottime64+0x24/0x60 kernel/time/timekeeping.c:2154
 getboottime include/linux/timekeeping32.h:42 [inline]
 seconds_since_boot include/linux/sunrpc/cache.h:154 [inline]
 cache_clean+0xf8/0x730 net/sunrpc/cache.c:430
 do_cache_clean+0x2d/0x130 net/sunrpc/cache.c:491
 process_one_work+0x3d4/0x890 kernel/workqueue.c:2269
 worker_thread+0xa0/0x800 kernel/workqueue.c:2415
 kthread+0x1d4/0x200 drivers/block/aoe/aoecmd.c:1253
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:352

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 3501 Comm: kworker/1:3 Not tainted 5.4.0-rc6+ #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events_power_efficient do_cache_clean
==================================================================

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/11/11 01:25 https://github.com/google/ktsan.git kcsan 94c006602e13 dc438b91 .config console log report ci2-upstream-kcsan-gce
2019/11/04 22:15 https://github.com/google/ktsan.git kcsan 94c006602e13 18e12644 .config console log report ci2-upstream-kcsan-gce
2019/11/04 08:17 https://github.com/google/ktsan.git kcsan 05f2236801fe b35fad31 .config console log report ci2-upstream-kcsan-gce
2019/11/03 10:14 https://github.com/google/ktsan.git kcsan 05f2236801fe c9610487 .config console log report ci2-upstream-kcsan-gce
2019/10/29 06:39 https://github.com/google/ktsan.git kcsan 05f2236801fe 5ea87a66 .config console log report ci2-upstream-kcsan-gce
2019/10/25 14:43 https://github.com/google/ktsan.git kcsan 05f2236801fe 04ca72cd .config console log report ci2-upstream-kcsan-gce
2019/10/25 04:37 https://github.com/google/ktsan.git kcsan 05f2236801fe d01bb02a .config console log report ci2-upstream-kcsan-gce
* Struck through repros no longer work on HEAD.