!!! css_release css ffff888101ccb000 !!! list_add corruption. prev->next should be next (ffff8881f705b560), but was ffff888101ccb070. (prev=ffff888101ccb070). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:28! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 107 Comm: kworker/0:2 Tainted: G W 5.10.119-syzkaller-00165-g1ce0c625d4b9 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: cgroup_destroy css_killed_work_fn RIP: 0010:__list_add_valid+0xde/0xf0 lib/list_debug.c:26 Code: f1 31 c0 e8 a7 cc 1b 02 0f 0b 48 c7 c7 90 44 d6 85 e8 b6 f2 19 00 48 c7 c7 c0 01 03 85 4c 89 f6 4c 89 e1 31 c0 e8 85 cc 1b 02 <0f> 0b 48 c7 c7 a0 44 d6 85 e8 94 f2 19 00 0f 1f 40 00 55 48 89 e5 RSP: 0018:ffffc90000007bc0 EFLAGS: 00010046 RAX: 0000000000000075 RBX: ffff8881f705b568 RCX: c14f693ca9dcb300 RDX: 0000000000000102 RSI: 0000000000000102 RDI: 0000000000000000 RBP: ffffc90000007be8 R08: ffffffff815145c8 R09: fffff52000000f45 R10: fffff52000000f45 R11: 1ffff92000000f44 R12: ffff888101ccb070 R13: dffffc0000000000 R14: ffff8881f705b560 R15: ffff888101ccb070 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fe496cc0e69 CR3: 00000001093c0000 CR4: 00000000003506b0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_add include/linux/list.h:67 [inline] list_add_tail include/linux/list.h:100 [inline] insert_work+0xfc/0x330 kernel/workqueue.c:1342 __queue_work+0x99e/0xe20 kernel/workqueue.c:1504 queue_work_on+0xbe/0x110 kernel/workqueue.c:1531 queue_work include/linux/workqueue.h:507 [inline] css_release+0xc0/0xd0 kernel/cgroup/cgroup.c:5116 percpu_ref_put_many include/linux/percpu-refcount.h:322 [inline] percpu_ref_put include/linux/percpu-refcount.h:338 [inline] percpu_ref_call_confirm_rcu lib/percpu-refcount.c:162 [inline] percpu_ref_switch_to_atomic_rcu+0x5be/0x5e0 lib/percpu-refcount.c:199 rcu_do_batch+0x4ad/0xb00 kernel/rcu/tree.c:2485 rcu_core+0x64a/0xdf0 kernel/rcu/tree.c:2726 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2739 __do_softirq+0x253/0x67b kernel/softirq.c:298 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+0x60/0x80 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:393 [inline] __irq_exit_rcu+0x152/0x1e0 kernel/softirq.c:423 irq_exit_rcu+0x9/0x10 kernel/softirq.c:435 sysvec_apic_timer_interrupt+0xbf/0xe0 arch/x86/kernel/apic/apic.c:1095 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:635 RIP: 0010:native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] RIP: 0010:arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] RIP: 0010:console_unlock+0xae5/0xe80 kernel/printk/printk.c:2540 Code: 00 48 c7 c7 e0 99 45 86 e8 f8 ed 0c 03 f6 c3 01 0f 85 64 03 00 00 e8 ba 64 00 00 48 8b 44 24 18 48 89 44 24 70 ff 74 24 70 9d <48> 8b 44 24 08 42 80 3c 28 00 74 0d 48 8d bc 24 f0 00 00 00 e8 12 RSP: 0018:ffffc90000a87a00 EFLAGS: 00000246 RAX: 0000000000000246 RBX: 0000000000000000 RCX: ffff888108132dc0 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000001 RBP: ffffc90000a87b48 R08: ffffffff81514141 R09: fffff52000150f38 R10: fffff52000150f38 R11: 1ffff92000150f37 R12: 1ffffffff0bbe745 R13: dffffc0000000000 R14: 0000000000000000 R15: ffffffff85df39f0 vprintk_emit+0x149/0x340 kernel/printk/printk.c:2054 vprintk_default+0x26/0x30 kernel/printk/printk.c:2071 vprintk_func+0x19d/0x1e0 kernel/printk/printk_safe.c:401 printk+0x76/0x96 kernel/printk/printk.c:2102 css_release+0x2d/0xd0 kernel/cgroup/cgroup.c:5114 percpu_ref_put_many include/linux/percpu-refcount.h:322 [inline] percpu_ref_put include/linux/percpu-refcount.h:338 [inline] css_put include/linux/cgroup.h:409 [inline] css_killed_work_fn+0x4b0/0x500 kernel/cgroup/cgroup.c:5470 process_one_work+0x711/0xce0 kernel/workqueue.c:2279 worker_thread+0xb17/0x1540 kernel/workqueue.c:2425 kthread+0x365/0x400 kernel/kthread.c:313 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 Modules linked in: ---[ end trace 3a08363c28c4e396 ]--- RIP: 0010:__list_add_valid+0xde/0xf0 lib/list_debug.c:26 Code: f1 31 c0 e8 a7 cc 1b 02 0f 0b 48 c7 c7 90 44 d6 85 e8 b6 f2 19 00 48 c7 c7 c0 01 03 85 4c 89 f6 4c 89 e1 31 c0 e8 85 cc 1b 02 <0f> 0b 48 c7 c7 a0 44 d6 85 e8 94 f2 19 00 0f 1f 40 00 55 48 89 e5 RSP: 0018:ffffc90000007bc0 EFLAGS: 00010046 RAX: 0000000000000075 RBX: ffff8881f705b568 RCX: c14f693ca9dcb300 RDX: 0000000000000102 RSI: 0000000000000102 RDI: 0000000000000000 RBP: ffffc90000007be8 R08: ffffffff815145c8 R09: fffff52000000f45 R10: fffff52000000f45 R11: 1ffff92000000f44 R12: ffff888101ccb070 R13: dffffc0000000000 R14: ffff8881f705b560 R15: ffff888101ccb070 FS: 0000000000000000(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fe496cc0e69 CR3: 00000001093c0000 CR4: 00000000003506b0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 48 c7 c7 e0 99 45 86 mov $0xffffffff864599e0,%rdi 7: e8 f8 ed 0c 03 callq 0x30cee04 c: f6 c3 01 test $0x1,%bl f: 0f 85 64 03 00 00 jne 0x379 15: e8 ba 64 00 00 callq 0x64d4 1a: 48 8b 44 24 18 mov 0x18(%rsp),%rax 1f: 48 89 44 24 70 mov %rax,0x70(%rsp) 24: ff 74 24 70 pushq 0x70(%rsp) 28: 9d popfq * 29: 48 8b 44 24 08 mov 0x8(%rsp),%rax <-- trapping instruction 2e: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) 33: 74 0d je 0x42 35: 48 8d bc 24 f0 00 00 lea 0xf0(%rsp),%rdi 3c: 00 3d: e8 .byte 0xe8 3e: 12 .byte 0x12