syzbot


KCSAN: data-race in drain_all_stock / drain_stock (5)

Status: auto-closed as invalid on 2022/09/19 00:38
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 110d, last: 110d
similar bugs (4):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in drain_all_stock / drain_stock (3) 1 248d 248d 0/24 auto-closed as invalid on 2022/05/03 08:41
upstream KCSAN: data-race in drain_all_stock / drain_stock (2) 3 404d 409d 0/24 auto-closed as invalid on 2021/11/28 07:11
upstream KCSAN: data-race in drain_all_stock / drain_stock 1 871d 871d 0/24 auto-closed as invalid on 2020/08/18 19:14
upstream KCSAN: data-race in drain_all_stock / drain_stock (4) 2 157d 188d 0/24 auto-closed as invalid on 2022/08/02 11:05

Sample crash report:
==================================================================
BUG: KCSAN: data-race in drain_all_stock / drain_stock

write to 0xffff888237c283e8 of 8 bytes by interrupt on cpu 0:
 drain_stock+0x88/0x110 mm/memcontrol.c:2209
 __refill_stock mm/memcontrol.c:2245 [inline]
 refill_stock+0x85/0x130 mm/memcontrol.c:2260
 obj_cgroup_uncharge_pages+0x75/0x130 mm/memcontrol.c:3019
 refill_obj_stock+0x16d/0x1e0 mm/memcontrol.c:3290
 obj_cgroup_uncharge+0xa/0x10 mm/memcontrol.c:3339
 memcg_slab_free_hook+0x6e/0xe0 mm/slab.h:564
 __cache_free mm/slab.c:3401 [inline]
 kmem_cache_free+0xaf/0x1b0 mm/slab.c:3725
 free_signal_struct kernel/fork.c:824 [inline]
 put_signal_struct kernel/fork.c:830 [inline]
 __put_task_struct+0x209/0x380 kernel/fork.c:846
 put_task_struct include/linux/sched/task.h:119 [inline]
 delayed_put_task_struct+0x46/0x130 kernel/exit.c:177
 rcu_do_batch kernel/rcu/tree.c:2245 [inline]
 rcu_core+0x5ad/0xc10 kernel/rcu/tree.c:2505
 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2522
 __do_softirq+0x158/0x2e3 kernel/softirq.c:571
 run_ksoftirqd+0x1f/0x30 kernel/softirq.c:934
 smpboot_thread_fn+0x308/0x4a0 kernel/smpboot.c:164
 kthread+0x1a9/0x1e0 kernel/kthread.c:376
 ret_from_fork+0x1f/0x30

read to 0xffff888237c283e8 of 8 bytes by task 19695 on cpu 1:
 drain_all_stock+0xcc/0x310 mm/memcontrol.c:2289
 try_charge_memcg+0x63a/0xa40 mm/memcontrol.c:2635
 obj_cgroup_charge_pages mm/memcontrol.c:3040 [inline]
 __memcg_kmem_charge_page+0x2e4/0x480 mm/memcontrol.c:3066
 __alloc_pages+0x1c1/0x340 mm/page_alloc.c:5532
 alloc_pages+0x3f4/0x4f0
 vm_area_alloc_pages mm/vmalloc.c:2958 [inline]
 __vmalloc_area_node mm/vmalloc.c:3026 [inline]
 __vmalloc_node_range+0x730/0xef0 mm/vmalloc.c:3196
 kvmalloc_node+0xf3/0x140 mm/util.c:634
 kvmalloc include/linux/slab.h:750 [inline]
 xt_alloc_table_info+0x39/0x70 net/netfilter/x_tables.c:1192
 do_replace net/ipv4/netfilter/ip_tables.c:1125 [inline]
 do_ipt_set_ctl+0x63c/0x16e0 net/ipv4/netfilter/ip_tables.c:1630
 nf_setsockopt+0x1a6/0x1c0 net/netfilter/nf_sockopt.c:101
 ip_setsockopt+0x1741/0x1ea0 net/ipv4/ip_sockglue.c:1444
 raw_setsockopt+0x100/0x150 net/ipv4/raw.c:833
 sock_common_setsockopt+0x5d/0x70 net/core/sock.c:3583
 __sys_setsockopt+0x212/0x2b0 net/socket.c:2252
 __do_sys_setsockopt net/socket.c:2263 [inline]
 __se_sys_setsockopt net/socket.c:2260 [inline]
 __x64_sys_setsockopt+0x62/0x70 net/socket.c:2260
 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: 0xffff88813c4e1000 -> 0xffff88813c422000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 19695 Comm: syz-executor.0 Not tainted 5.19.0-syzkaller-13930-g7ebfc85e2cd7-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/22/2022
==================================================================

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-upstream-kcsan-gce 2022/08/15 00:37 upstream 7ebfc85e2cd7 8dfcaa3d .config log report info KCSAN: data-race in drain_all_stock / drain_stock
* Struck through repros no longer work on HEAD.