syzbot


KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64

Status: auto-closed as invalid on 2022/08/20 02:16
Subsystems: kernel
[Documentation on labels]
First crash: 720d, last: 643d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64 (4) kernel 3 357d 369d 0/26 auto-obsoleted due to no activity on 2023/06/01 19:11
upstream KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64 (2) kernel 7 515d 601d 0/26 auto-obsoleted due to no activity on 2023/01/03 10:47
upstream KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64 (3) kernel 2 437d 464d 0/26 auto-obsoleted due to no activity on 2023/04/04 17:35

Sample crash report:
==================================================================
BUG: KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64

read-write to 0xffffffff85a079c0 of 8 bytes by interrupt on cpu 0:
 tick_do_update_jiffies64+0x112/0x1b0 kernel/time/tick-sched.c:118
 tick_sched_do_timer kernel/time/tick-sched.c:199 [inline]
 tick_sched_timer+0x7e/0x2d0 kernel/time/tick-sched.c:1473
 __run_hrtimer+0x132/0x420 kernel/time/hrtimer.c:1685
 __hrtimer_run_queues kernel/time/hrtimer.c:1749 [inline]
 hrtimer_interrupt+0x36e/0xa70 kernel/time/hrtimer.c:1811
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1095 [inline]
 __sysvec_apic_timer_interrupt+0xa3/0x250 arch/x86/kernel/apic/apic.c:1112
 sysvec_apic_timer_interrupt+0x88/0xb0 arch/x86/kernel/apic/apic.c:1106
 asm_sysvec_apic_timer_interrupt+0x16/0x20
 kcsan_setup_watchpoint+0x3e9/0x3f0 kernel/kcsan/core.c:694
 block_dirty_folio+0x7e/0x120 fs/buffer.c:628
 ext4_dirty_folio+0x7a/0xa0 fs/ext4/inode.c:3612
 folio_mark_dirty+0x7c/0xc0 mm/page-writeback.c:2723
 set_page_dirty+0x3b/0xe0 mm/folio-compat.c:84
 fault_dirty_shared_page+0x6d/0x190 mm/memory.c:2993
 do_shared_fault mm/memory.c:4592 [inline]
 do_fault+0x7d9/0xb20 mm/memory.c:4644
 handle_pte_fault mm/memory.c:4904 [inline]
 __handle_mm_fault mm/memory.c:5043 [inline]
 handle_mm_fault+0x889/0xa90 mm/memory.c:5141
 faultin_page mm/gup.c:953 [inline]
 __get_user_pages+0x34a/0xbf0 mm/gup.c:1174
 __get_user_pages_locked mm/gup.c:1365 [inline]
 __gup_longterm_locked+0x16b/0x280 mm/gup.c:1984
 pin_user_pages+0x70/0xa0 mm/gup.c:3117
 xdp_umem_pin_pages+0xad/0x1e0 net/xdp/xdp_umem.c:107
 xdp_umem_reg net/xdp/xdp_umem.c:219 [inline]
 xdp_umem_create+0x5c8/0x740 net/xdp/xdp_umem.c:252
 xsk_setsockopt+0x55f/0x5a0 net/xdp/xsk.c:1097
 __sys_setsockopt+0x212/0x2b0 net/socket.c:2254
 __do_sys_setsockopt net/socket.c:2265 [inline]
 __se_sys_setsockopt net/socket.c:2262 [inline]
 __x64_sys_setsockopt+0x62/0x70 net/socket.c:2262
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

read to 0xffffffff85a079c0 of 8 bytes by task 12310 on cpu 1:
 mem_cgroup_flush_stats_delayed+0x34/0x140 mm/memcontrol.c:655
 workingset_refault+0x3c2/0x7b0 mm/workingset.c:358
 filemap_add_folio+0xe2/0x150 mm/filemap.c:973
 page_cache_ra_unbounded+0x19e/0x2e0 mm/readahead.c:245
 do_page_cache_ra mm/readahead.c:293 [inline]
 page_cache_ra_order mm/readahead.c:550 [inline]
 ondemand_readahead+0x5df/0x780 mm/readahead.c:672
 page_cache_async_ra+0x8b/0xa0 mm/readahead.c:721
 do_async_mmap_readahead+0x1f5/0x230 mm/filemap.c:3084
 filemap_fault+0x100/0x740 mm/filemap.c:3138
 __do_fault mm/memory.c:4165 [inline]
 do_shared_fault mm/memory.c:4566 [inline]
 do_fault+0x5df/0xb20 mm/memory.c:4644
 handle_pte_fault mm/memory.c:4904 [inline]
 __handle_mm_fault mm/memory.c:5043 [inline]
 handle_mm_fault+0x889/0xa90 mm/memory.c:5141
 faultin_page mm/gup.c:953 [inline]
 __get_user_pages+0x34a/0xbf0 mm/gup.c:1174
 __get_user_pages_locked mm/gup.c:1365 [inline]
 __gup_longterm_locked+0x16b/0x280 mm/gup.c:1984
 pin_user_pages+0x70/0xa0 mm/gup.c:3117
 xdp_umem_pin_pages+0xad/0x1e0 net/xdp/xdp_umem.c:107
 xdp_umem_reg net/xdp/xdp_umem.c:219 [inline]
 xdp_umem_create+0x5c8/0x740 net/xdp/xdp_umem.c:252
 xsk_setsockopt+0x55f/0x5a0 net/xdp/xsk.c:1097
 __sys_setsockopt+0x212/0x2b0 net/socket.c:2254
 __do_sys_setsockopt net/socket.c:2265 [inline]
 __se_sys_setsockopt net/socket.c:2262 [inline]
 __x64_sys_setsockopt+0x62/0x70 net/socket.c:2262
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x2b/0x70 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

value changed: 0x00000000ffffee9d -> 0x00000000ffffee9e

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 12310 Comm: syz-executor.2 Not tainted 5.19.0-rc6-syzkaller-00364-g9b59ec8d50a1-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022
==================================================================

Crashes (7):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2022/07/16 02:09 upstream 9b59ec8d50a1 95cb00d1 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
2022/06/28 12:52 upstream 941e3e791269 ef82eb2c .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
2022/06/23 08:26 upstream de5c208d533a 912f5df7 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
2022/05/26 17:04 upstream d7227785e384 3037caa9 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
2022/05/20 14:26 upstream 3d7285a335ed cb1ac2e7 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
2022/05/06 00:13 upstream 0f5d752b1395 efeff0a5 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
2022/04/30 12:36 upstream 8013d1d3d2e3 2df221f6 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in mem_cgroup_flush_stats_delayed / tick_do_update_jiffies64
* Struck through repros no longer work on HEAD.