syzbot
INFO: rcu detected stall in sys_socket (9)
Status: closed as invalid on 2023/09/07 14:25
Subsystems:
mm
kasan
[Documentation on labels]
First crash: 1128d, last: 1118d
Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 0-...!: (1 GPs behind) idle=983c/1/0x4000000000000000 softirq=173626/173627 fqs=2
rcu: (detected by 1, t=10505 jiffies, g=254609, q=359 ncpus=2)
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 31929 Comm: syz-executor.4 Not tainted 6.5.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2023
RIP: 0010:native_irq_disable arch/x86/include/asm/irqflags.h:37 [inline]
RIP: 0010:arch_local_irq_disable arch/x86/include/asm/irqflags.h:72 [inline]
RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:104 [inline]
RIP: 0010:lock_acquire+0x199/0x520 kernel/locking/lockdep.c:5757
Code: 00 00 00 00 00 00 9c 8f 84 24 80 00 00 00 42 80 3c 2b 00 74 08 4c 89 ff e8 44 64 79 00 48 8d 5c 24 60 4c 8b bc 24 80 00 00 00 <fa> 48 c7 c7 00 9d 0a 8b e8 7a 4e 51 09 65 ff 05 2b 2b 97 7e 45 31
RSP: 0018:ffffc90000007b60 EFLAGS: 00000046
RAX: 0000000000000000 RBX: ffffc90000007bc0 RCX: ffffffff816b5cf4
RDX: 0000000000000000 RSI: ffffffff8b58a460 RDI: ffffffff8b58a420
RBP: ffffc90000007ca8 R08: ffffffff8e9858af R09: 1ffffffff1d30b15
R10: dffffc0000000000 R11: fffffbfff1d30b16 R12: 1ffff92000000f74
R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000046
FS: 00005555562c3480(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fbc3cd75198 CR3: 000000008fad5000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000c0000080
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<IRQ>
__raw_spin_lock_irq include/linux/spinlock_api_smp.h:119 [inline]
_raw_spin_lock_irq+0xd3/0x120 kernel/locking/spinlock.c:170
__run_hrtimer kernel/time/hrtimer.c:1692 [inline]
__hrtimer_run_queues+0x66c/0xd10 kernel/time/hrtimer.c:1752
hrtimer_interrupt+0x396/0x980 kernel/time/hrtimer.c:1814
local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1098 [inline]
__sysvec_apic_timer_interrupt+0x13f/0x480 arch/x86/kernel/apic/apic.c:1115
sysvec_apic_timer_interrupt+0x90/0xb0 arch/x86/kernel/apic/apic.c:1109
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:lockdep_enabled kernel/locking/lockdep.c:122 [inline]
RIP: 0010:lock_acquire+0x13a/0x520 kernel/locking/lockdep.c:5737
Code: 65 8b 05 c1 2b 97 7e 85 c0 0f 85 8a 01 00 00 65 48 8b 1d f9 57 98 7e 48 81 c3 c4 0a 00 00 48 89 d8 48 c1 e8 03 42 0f b6 04 28 <84> c0 0f 85 c6 02 00 00 83 3b 00 0f 85 5e 01 00 00 4c 8d bc 24 80
RSP: 0018:ffffc9000419fb20 EFLAGS: 00000a03
RAX: 0000000000000000 RBX: ffff8880245f2884 RCX: ffffffff816b5cf4
RDX: 0000000000000000 RSI: ffffffff8b58a460 RDI: ffffffff8b58a420
RBP: ffffc9000419fc70 R08: ffffffff8e9858af R09: 1ffffffff1d30b15
R10: dffffc0000000000 R11: fffffbfff1d30b16 R12: 1ffff92000833f6c
R13: dffffc0000000000 R14: 0000000000000000 R15: dffffc0000000000
rcu_lock_acquire+0x24/0x30 include/linux/rcupdate.h:303
rcu_read_lock include/linux/rcupdate.h:749 [inline]
percpu_ref_tryget_many include/linux/percpu-refcount.h:241 [inline]
percpu_ref_tryget+0x10/0x140 include/linux/percpu-refcount.h:266
obj_cgroup_tryget include/linux/memcontrol.h:786 [inline]
__get_obj_cgroup_from_memcg+0x70/0xe0 mm/memcontrol.c:3014
get_obj_cgroup_from_current+0x14d/0x250 mm/memcontrol.c:3034
memcg_slab_pre_alloc_hook mm/slab.h:487 [inline]
slab_pre_alloc_hook+0x94/0x2b0 mm/slab.h:714
slab_alloc_node mm/slub.c:3452 [inline]
slab_alloc mm/slub.c:3478 [inline]
__kmem_cache_alloc_lru mm/slub.c:3485 [inline]
kmem_cache_alloc_lru+0x4e/0x300 mm/slub.c:3501
alloc_inode_sb include/linux/fs.h:2729 [inline]
sock_alloc_inode+0x28/0xc0 net/socket.c:305
alloc_inode fs/inode.c:260 [inline]
new_inode_pseudo+0x65/0x1d0 fs/inode.c:1018
sock_alloc net/socket.c:631 [inline]
__sock_create+0x123/0x8d0 net/socket.c:1500
sock_create net/socket.c:1587 [inline]
__sys_socket_create net/socket.c:1624 [inline]
__sys_socket+0x13a/0x3a0 net/socket.c:1652
__do_sys_socket net/socket.c:1665 [inline]
__se_sys_socket net/socket.c:1663 [inline]
__x64_sys_socket+0x7a/0x90 net/socket.c:1663
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x41/0xc0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7fbc3cc7e8a7
Code: f0 ff ff 77 06 c3 0f 1f 44 00 00 48 c7 c2 b0 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 b8 29 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffdb72db8f8 EFLAGS: 00000206 ORIG_RAX: 0000000000000029
RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fbc3cc7e8a7
RDX: 0000000000000006 RSI: 0000000000000001 RDI: 0000000000000002
RBP: 00007ffdb72dc04c R08: 00007ffdb72db94c R09: 00007ffdb72dbd37
R10: 00007ffdb72db9a0 R11: 0000000000000206 R12: 00007fbc3cd78d00
R13: 000000000032dcd5 R14: 000000000032dcd5 R15: 00007fbc3cd7aec0
</TASK>
rcu: rcu_preempt kthread starved for 10495 jiffies! g254609 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
rcu: Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt state:R running task stack:26224 pid:16 ppid:2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5381 [inline]
__schedule+0x1873/0x48f0 kernel/sched/core.c:6710
schedule+0xc3/0x180 kernel/sched/core.c:6786
schedule_timeout+0x1bd/0x310 kernel/time/timer.c:2167
rcu_gp_fqs_loop+0x2c6/0x1010 kernel/rcu/tree.c:1609
rcu_gp_kthread+0xa7/0x3b0 kernel/rcu/tree.c:1808
kthread+0x2b8/0x350 kernel/kthread.c:389
ret_from_fork+0x2e/0x60 arch/x86/kernel/process.c:145
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:296
RIP: 0000:0x0
Code: Unable to access opcode bytes at 0xffffffffffffffd6.
RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
CPU: 1 PID: 9957 Comm: kworker/u4:3 Not tainted 6.5.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2023
Workqueue: events_unbound toggle_allocation_gate
RIP: 0010:csd_lock_wait kernel/smp.c:296 [inline]
RIP: 0010:smp_call_function_many_cond+0x1856/0x27d0 kernel/smp.c:835
Code: 03 84 c0 75 7e 45 8b 2c 24 44 89 ee 83 e6 01 31 ff e8 de 17 0b 00 41 83 e5 01 4c 8b 6c 24 60 75 07 e8 1e 14 0b 00 eb 41 f3 90 <48> b8 00 00 00 00 00 fc ff df 0f b6 04 03 84 c0 75 11 41 f7 04 24
RSP: 0018:ffffc900056b7780 EFLAGS: 00000293
RAX: ffffffff8180f197 RBX: 1ffff1101730897d RCX: ffff88802c9f9dc0
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900056b7980 R08: ffffffff8180f162 R09: 1ffffffff20f6260
R10: dffffc0000000000 R11: fffffbfff20f6261 R12: ffff8880b9844be8
R13: ffff8880b993d0c8 R14: ffff8880b993d0c0 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd6 CR3: 000000000d130000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000c0000080
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
</IRQ>
<TASK>
on_each_cpu_cond_mask+0x3f/0x80 kernel/smp.c:1003
on_each_cpu include/linux/smp.h:71 [inline]
text_poke_sync arch/x86/kernel/alternative.c:2001 [inline]
text_poke_bp_batch+0x2d7/0x960 arch/x86/kernel/alternative.c:2211
text_poke_flush arch/x86/kernel/alternative.c:2402 [inline]
text_poke_finish+0x1a/0x30 arch/x86/kernel/alternative.c:2409
arch_jump_label_transform_apply+0x17/0x30 arch/x86/kernel/jump_label.c:146
static_key_enable_cpuslocked+0x132/0x250 kernel/jump_label.c:205
static_key_enable+0x1a/0x20 kernel/jump_label.c:218
toggle_allocation_gate+0xb5/0x250 mm/kfence/core.c:831
process_one_work+0x92c/0x12c0 kernel/workqueue.c:2597
worker_thread+0xa63/0x1210 kernel/workqueue.c:2748
kthread+0x2b8/0x350 kernel/kthread.c:389
ret_from_fork+0x2e/0x60 arch/x86/kernel/process.c:145
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:296
RIP: 0000:0x0
Code: Unable to access opcode bytes at 0xffffffffffffffd6.
RSP: 0000:0000000000000000 EFLAGS: 00000000 ORIG_RAX: 0000000000000000
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
* Struck through repros no longer work on HEAD.