syzbot


KCSAN: data-race in kcompactd_do_work / wakeup_kcompactd

Status: auto-closed as invalid on 2021/03/08 20:50
Subsystems: mm
[Documentation on labels]
First crash: 1179d, last: 1179d

Sample crash report:
==================================================================
BUG: KCSAN: data-race in kcompactd_do_work / wakeup_kcompactd

write to 0xffff88813ffff90c of 4 bytes by task 1656 on cpu 0:
 kcompactd_do_work+0x58a/0x6c0 mm/compaction.c:2802
 kcompactd+0x2d0/0xdf0 mm/compaction.c:2862
 kthread+0x20b/0x230 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296

read to 0xffff88813ffff90c of 4 bytes by interrupt on cpu 1:
 wakeup_kcompactd+0x3a/0x280 mm/compaction.c:2812
 wakeup_kswapd+0x249/0x460 mm/vmscan.c:3992
 wake_all_kswapds mm/page_alloc.c:4433 [inline]
 __alloc_pages_slowpath+0x3c8/0x9c0 mm/page_alloc.c:4773
 __alloc_pages_nodemask+0x269/0x350 mm/page_alloc.c:5014
 __alloc_pages include/linux/gfp.h:511 [inline]
 __alloc_pages_node include/linux/gfp.h:524 [inline]
 kmem_getpages+0x17/0xb0 mm/slab.c:1376
 cache_grow_begin+0x4c/0x1a0 mm/slab.c:2593
 fallback_alloc+0x124/0x1e0 mm/slab.c:3140
 slab_alloc_node mm/slab.c:3249 [inline]
 kmem_cache_alloc_node_trace+0x13f/0x2e0 mm/slab.c:3596
 __do_kmalloc_node mm/slab.c:3618 [inline]
 __kmalloc_node_track_caller+0x30/0x40 mm/slab.c:3633
 __kmalloc_reserve net/core/skbuff.c:142 [inline]
 pskb_expand_head+0xc9/0x920 net/core/skbuff.c:1638
 __skb_cow include/linux/skbuff.h:3171 [inline]
 skb_cow include/linux/skbuff.h:3190 [inline]
 skb_reorder_vlan_header net/core/skbuff.c:5441 [inline]
 skb_vlan_untag+0x283/0x4c0 net/core/skbuff.c:5486
 __netif_receive_skb_core+0xc11/0x1e60 net/core/dev.c:5246
 __netif_receive_skb_one_core net/core/dev.c:5321 [inline]
 __netif_receive_skb+0x52/0x1b0 net/core/dev.c:5437
 netif_receive_skb_internal+0x3a/0x130 net/core/dev.c:5542
 netif_receive_skb+0x19/0x170 net/core/dev.c:5601
 br_netif_receive_skb net/bridge/br_input.c:30 [inline]
 NF_HOOK include/linux/netfilter.h:301 [inline]
 br_pass_frame_up+0x25f/0x310 net/bridge/br_input.c:61
 br_handle_frame_finish+0x9d2/0xa60 net/bridge/br_input.c:168
 nf_hook_bridge_pre net/bridge/br_input.c:246 [inline]
 br_handle_frame+0x548/0xbb0 net/bridge/br_input.c:367
 __netif_receive_skb_core+0xa5c/0x1e60 net/core/dev.c:5217
 __netif_receive_skb_one_core net/core/dev.c:5321 [inline]
 __netif_receive_skb+0x52/0x1b0 net/core/dev.c:5437
 process_backlog+0x23f/0x3e0 net/core/dev.c:6327
 napi_poll+0x181/0x630 net/core/dev.c:6805
 net_rx_action+0x17a/0x490 net/core/dev.c:6888
 __do_softirq+0x13c/0x2c3 kernel/softirq.c:343
 asm_call_irq_on_stack+0xf/0x20
 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
 run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
 do_softirq_own_stack+0x32/0x40 arch/x86/kernel/irq_64.c:77
 do_softirq kernel/softirq.c:246 [inline]
 __local_bh_enable_ip+0xba/0xd0 kernel/softirq.c:196
 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:176 [inline]
 _raw_spin_unlock_bh+0x33/0x40 kernel/locking/spinlock.c:207
 spin_unlock_bh include/linux/spinlock.h:399 [inline]
 nsim_dev_trap_report drivers/net/netdevsim/dev.c:585 [inline]
 nsim_dev_trap_report_work+0x4e1/0x5b0 drivers/net/netdevsim/dev.c:611
 process_one_work+0x3e1/0x950 kernel/workqueue.c:2275
 worker_thread+0x616/0xa70 kernel/workqueue.c:2421
 kthread+0x20b/0x230 kernel/kthread.c:292
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 9159 Comm: kworker/1:4 Not tainted 5.11.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events nsim_dev_trap_report_work
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/02/01 20:44 upstream 88bb507a74ea e6b95f32 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in kcompactd_do_work / wakeup_kcompactd
* Struck through repros no longer work on HEAD.