==================================================================
BUG: KCSAN: data-race in mem_cgroup_flush_stats_ratelimited / tick_do_update_jiffies64

read-write to 0xffffffff868099c0 of 8 bytes by interrupt on cpu 0:
 tick_do_update_jiffies64+0x113/0x1c0 kernel/time/tick-sched.c:118
 tick_sched_do_timer kernel/time/tick-sched.c:232 [inline]
 tick_nohz_handler+0x7f/0x2d0 kernel/time/tick-sched.c:290
 __run_hrtimer kernel/time/hrtimer.c:1761 [inline]
 __hrtimer_run_queues+0x20f/0x5a0 kernel/time/hrtimer.c:1825
 hrtimer_interrupt+0x21a/0x460 kernel/time/hrtimer.c:1887
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1038 [inline]
 __sysvec_apic_timer_interrupt+0x5c/0x1d0 arch/x86/kernel/apic/apic.c:1055
 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
 sysvec_apic_timer_interrupt+0x6f/0x80 arch/x86/kernel/apic/apic.c:1049
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
 is_atomic kernel/kcsan/core.c:249 [inline]
 should_watch kernel/kcsan/core.c:277 [inline]
 check_access kernel/kcsan/core.c:752 [inline]
 __tsan_read4+0xe9/0x190 kernel/kcsan/core.c:1024
 init_header fs/proc/proc_sysctl.c:211 [inline]
 __register_sysctl_table+0x18e/0xc00 fs/proc/proc_sysctl.c:1382
 register_net_sysctl_sz+0x19e/0x1c0 net/sysctl_net.c:171
 neigh_sysctl_register+0x661/0x6d0 net/core/neighbour.c:3793
 addrconf_sysctl_register+0x81/0x130 net/ipv6/addrconf.c:7292
 ipv6_add_dev+0x8da/0xb30 net/ipv6/addrconf.c:458
 addrconf_notify+0x4c8/0x930 net/ipv6/addrconf.c:3654
 notifier_call_chain kernel/notifier.c:85 [inline]
 raw_notifier_call_chain+0x6c/0x1b0 kernel/notifier.c:453
 call_netdevice_notifiers_info+0xae/0x100 net/core/dev.c:2176
 call_netdevice_notifiers_extack net/core/dev.c:2214 [inline]
 call_netdevice_notifiers net/core/dev.c:2228 [inline]
 register_netdevice+0xd48/0xf10 net/core/dev.c:11035
 register_netdev+0x3b/0x50 net/core/dev.c:11114
 ip6_tnl_init_net+0x229/0x310 net/ipv6/ip6_tunnel.c:2275
 ops_init+0x22a/0x2e0 net/core/net_namespace.c:138
 setup_net+0x13b/0x5f0 net/core/net_namespace.c:364
 copy_net_ns+0x565/0x720 net/core/net_namespace.c:518
 create_new_namespaces+0x20e/0x410 kernel/nsproxy.c:110
 copy_namespaces+0x1ad/0x210 kernel/nsproxy.c:179
 copy_process+0xd1b/0x1f90 kernel/fork.c:2432
 kernel_clone+0x16c/0x5b0 kernel/fork.c:2844
 __do_sys_clone kernel/fork.c:2987 [inline]
 __se_sys_clone kernel/fork.c:2971 [inline]
 __x64_sys_clone+0xe6/0x120 kernel/fork.c:2971
 x64_sys_call+0x2c59/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:57
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffffffff868099c0 of 8 bytes by task 11146 on cpu 1:
 mem_cgroup_flush_stats_ratelimited+0x29/0x70 mm/memcontrol.c:643
 count_shadow_nodes+0x6a/0x230 mm/workingset.c:680
 do_shrink_slab+0x63/0x680 mm/shrinker.c:384
 shrink_slab_memcg mm/shrinker.c:550 [inline]
 shrink_slab+0x448/0x760 mm/shrinker.c:628
 shrink_node_memcgs mm/vmscan.c:5991 [inline]
 shrink_node+0x6c3/0x2110 mm/vmscan.c:6030
 shrink_zones mm/vmscan.c:6274 [inline]
 do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6336
 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6664
 try_charge_memcg+0x3ab/0x870 mm/memcontrol.c:2304
 try_charge mm/memcontrol.c:2446 [inline]
 charge_memcg+0x51/0xc0 mm/memcontrol.c:4592
 __mem_cgroup_charge+0x28/0xb0 mm/memcontrol.c:4609
 mem_cgroup_charge include/linux/memcontrol.h:642 [inline]
 shmem_alloc_and_add_folio mm/shmem.c:1903 [inline]
 shmem_get_folio_gfp+0x470/0xd40 mm/shmem.c:2533
 shmem_fault+0xf6/0x250 mm/shmem.c:2734
 __do_fault+0xb9/0x200 mm/memory.c:5098
 do_read_fault mm/memory.c:5518 [inline]
 do_fault mm/memory.c:5652 [inline]
 do_pte_missing mm/memory.c:4160 [inline]
 handle_pte_fault mm/memory.c:5997 [inline]
 __handle_mm_fault mm/memory.c:6140 [inline]
 handle_mm_fault+0x110c/0x2ae0 mm/memory.c:6309
 faultin_page mm/gup.c:1193 [inline]
 __get_user_pages+0xde2/0x1d20 mm/gup.c:1491
 populate_vma_page_range mm/gup.c:1929 [inline]
 __mm_populate+0x243/0x3a0 mm/gup.c:2032
 mm_populate include/linux/mm.h:3487 [inline]
 vm_mmap_pgoff+0x232/0x2e0 mm/util.c:584
 ksys_mmap_pgoff+0xc2/0x310 mm/mmap.c:607
 x64_sys_call+0x1602/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:10
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x00000000ffffdddb -> 0x00000000ffffdddc

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 11146 Comm: syz.2.2578 Not tainted 6.15.0-rc6-syzkaller-00052-g9f35e33144ae #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================