syzbot


WARNING: locking bug in rto_push_irq_work_func

Status: upstream: reported on 2024/10/14 23:55
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+da051a9137a15fa8ecdf@syzkaller.appspotmail.com
First crash: 5d00h, last: 5d00h
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [kernel?] WARNING: locking bug in rto_push_irq_work_func 0 (1) 2024/10/14 23:55

Sample crash report:
------------[ cut here ]------------
DEBUG_LOCKS_WARN_ON(1)
WARNING: CPU: 0 PID: 5475 at kernel/locking/lockdep.c:232 hlock_class kernel/locking/lockdep.c:232 [inline]
WARNING: CPU: 0 PID: 5475 at kernel/locking/lockdep.c:232 check_wait_context kernel/locking/lockdep.c:4826 [inline]
WARNING: CPU: 0 PID: 5475 at kernel/locking/lockdep.c:232 __lock_acquire+0x58c/0x2050 kernel/locking/lockdep.c:5152
Modules linked in:
CPU: 0 UID: 0 PID: 5475 Comm: syz.4.27 Not tainted 6.12.0-rc2-syzkaller-00100-geb952c47d154 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:hlock_class kernel/locking/lockdep.c:232 [inline]
RIP: 0010:check_wait_context kernel/locking/lockdep.c:4826 [inline]
RIP: 0010:__lock_acquire+0x58c/0x2050 kernel/locking/lockdep.c:5152
Code: 00 00 83 3d 65 be ac 0e 00 75 23 90 48 c7 c7 60 c9 0a 8c 48 c7 c6 00 cc 0a 8c e8 3f 7f e5 ff 48 ba 00 00 00 00 00 fc ff df 90 <0f> 0b 90 90 90 31 db 48 81 c3 c4 00 00 00 48 89 d8 48 c1 e8 03 0f
RSP: 0018:ffffc90000007c10 EFLAGS: 00010046
RAX: fb0486e3ebc62c00 RBX: 0000000000001368 RCX: ffff88802a243c00
RDX: dffffc0000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000005 R08: ffffffff8155e402 R09: 1ffff110170c519a
R10: dffffc0000000000 R11: ffffed10170c519b R12: ffff88802a243c00
R13: 0000000000001368 R14: 1ffff110054488e5 R15: ffff88802a244728
FS:  0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007efc4deaef98 CR3: 000000007f75e000 CR4: 0000000000350ef0
Call Trace:
 <IRQ>
 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5825
 _raw_spin_lock_nested+0x31/0x40 kernel/locking/spinlock.c:378
 raw_spin_rq_lock_nested+0xb0/0x140 kernel/sched/core.c:601
 raw_spin_rq_lock kernel/sched/sched.h:1505 [inline]
 rto_push_irq_work_func+0x86/0x350 kernel/sched/rt.c:2259
 irq_work_single+0x136/0x240 kernel/irq_work.c:221
 __flush_smp_call_function_queue+0xa17/0x1690 kernel/smp.c:574
 __sysvec_call_function_single+0xb8/0x430 arch/x86/kernel/smp.c:271
 instr_sysvec_call_function_single arch/x86/kernel/smp.c:266 [inline]
 sysvec_call_function_single+0x9e/0xc0 arch/x86/kernel/smp.c:266
 </IRQ>
 <TASK>
 asm_sysvec_call_function_single+0x1a/0x20 arch/x86/include/asm/idtentry.h:709
RIP: 0010:finish_task_switch+0x1ea/0x870 kernel/sched/core.c:5196
Code: c9 50 e8 c9 01 0c 00 48 83 c4 08 4c 89 f7 e8 4d 39 00 00 e9 de 04 00 00 4c 89 f7 e8 f0 ee 6a 0a e8 5b 57 38 00 fb 48 8b 5d c0 <48> 8d bb f8 15 00 00 48 89 f8 48 c1 e8 03 49 be 00 00 00 00 00 fc
RSP: 0018:ffffc900033ff6a8 EFLAGS: 00000286
RAX: fb0486e3ebc62c00 RBX: ffff88802a243c00 RCX: ffffffff9a3cc903
RDX: dffffc0000000000 RSI: ffffffff8c0acac0 RDI: ffffffff8c60fb20
RBP: ffffc900033ff6f0 R08: ffffffff901cee2f R09: 1ffffffff2039dc5
R10: dffffc0000000000 R11: fffffbfff2039dc6 R12: 1ffff110170c7f14
R13: dffffc0000000000 R14: ffff8880b863ea80 R15: ffff8880b863f8a0
 context_switch kernel/sched/core.c:5325 [inline]
 __schedule+0x189d/0x4b30 kernel/sched/core.c:6682
 preempt_schedule_irq+0xfb/0x1c0 kernel/sched/core.c:7004
 irqentry_exit+0x5e/0x90 kernel/entry/common.c:354
 asm_sysvec_reschedule_ipi+0x1a/0x20 arch/x86/include/asm/idtentry.h:707
RIP: 0010:lockdep_enabled kernel/locking/lockdep.c:116 [inline]
RIP: 0010:lock_release+0xdb/0xa30 kernel/locking/lockdep.c:5838
Code: 0f a3 1d 60 70 ac 0e 73 16 e8 41 58 0a 00 84 c0 75 0d 80 3d 5c 2c 96 0e 00 0f 84 fc 05 00 00 48 c7 c0 7c 20 1d 90 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 1f 06 00 00 83 3d 7d a2 ac 0e 00 4c 8b
RSP: 0018:ffffc900033ffa80 EFLAGS: 00000217
RAX: 1ffffffff203a40f RBX: 0000000000000000 RCX: ffffffff81707dc0
RDX: 0000000000000000 RSI: ffffffff8c60fb00 RDI: ffffffff8c60fac0
RBP: ffffc900033ffbb8 R08: ffffffff901cee2f R09: 1ffffffff2039dc5
R10: dffffc0000000000 R11: fffffbfff2039dc6 R12: 1ffff9200067ff5c
R13: ffffffff820878c9 R14: ffffffff820878c9 R15: dffffc0000000000
 rcu_lock_release include/linux/rcupdate.h:347 [inline]
 rcu_read_unlock include/linux/rcupdate.h:880 [inline]
 percpu_ref_put_many include/linux/percpu-refcount.h:337 [inline]
 percpu_ref_put+0xfa/0x180 include/linux/percpu-refcount.h:351
 css_put include/linux/cgroup_refcnt.h:79 [inline]
 obj_cgroup_uncharge_pages+0x18f/0x210 mm/memcontrol.c:2604
 __memcg_kmem_uncharge_page+0xe9/0x290 mm/memcontrol.c:2676
 memcg_kmem_uncharge_page include/linux/memcontrol.h:1749 [inline]
 exit_task_stack_account+0x1e3/0x340 kernel/fork.c:567
 do_exit+0x1d02/0x28e0 kernel/exit.c:980
 do_group_exit+0x207/0x2c0 kernel/exit.c:1088
 __do_sys_exit_group kernel/exit.c:1099 [inline]
 __se_sys_exit_group kernel/exit.c:1097 [inline]
 __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1097
 x64_sys_call+0x2634/0x2640 arch/x86/include/generated/asm/syscalls_64.h:232
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fee4c77dff9
Code: Unable to access opcode bytes at 0x7fee4c77dfcf.
RSP: 002b:00007ffc9b801388 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fee4c77dff9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00007ffc9b8013dc R08: 00007ffc9b80146f R09: 0000555592145590
R10: 0000000000000000 R11: 0000000000000246 R12: 00005555921455eb
R13: 0000555592145590 R14: 0000000000014e78 R15: 00007ffc9b801430
 </TASK>
----------------
Code disassembly (best guess):
   0:	c9                   	leave
   1:	50                   	push   %rax
   2:	e8 c9 01 0c 00       	call   0xc01d0
   7:	48 83 c4 08          	add    $0x8,%rsp
   b:	4c 89 f7             	mov    %r14,%rdi
   e:	e8 4d 39 00 00       	call   0x3960
  13:	e9 de 04 00 00       	jmp    0x4f6
  18:	4c 89 f7             	mov    %r14,%rdi
  1b:	e8 f0 ee 6a 0a       	call   0xa6aef10
  20:	e8 5b 57 38 00       	call   0x385780
  25:	fb                   	sti
  26:	48 8b 5d c0          	mov    -0x40(%rbp),%rbx
* 2a:	48 8d bb f8 15 00 00 	lea    0x15f8(%rbx),%rdi <-- trapping instruction
  31:	48 89 f8             	mov    %rdi,%rax
  34:	48 c1 e8 03          	shr    $0x3,%rax
  38:	49                   	rex.WB
  39:	be 00 00 00 00       	mov    $0x0,%esi
  3e:	00 fc                	add    %bh,%ah

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/10/10 23:44 upstream eb952c47d154 8fbfc0c8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-root WARNING: locking bug in rto_push_irq_work_func
* Struck through repros no longer work on HEAD.