list_add corruption. prev->next should be next (ffff8881f733cb68), but was ffff888120d93c70. (prev=ffff888120d93c70). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:28! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 468 Comm: syz-executor154 Not tainted 5.18.0-rc2-syzkaller-00411-gce522ba9ef7e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__list_add_valid+0xc6/0xd0 lib/list_debug.c:26 Code: 48 c7 c7 c0 18 68 85 4c 89 e6 4c 89 f1 31 c0 e8 a0 bd 55 02 0f 0b 48 c7 c7 80 19 68 85 4c 89 f6 4c 89 e1 31 c0 e8 8a bd 55 02 <0f> 0b 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 57 41 56 41 54 53 49 RSP: 0018:ffffc900001809b8 EFLAGS: 00010046 RAX: 0000000000000075 RBX: ffff8881f733cb70 RCX: 6c75837fc12d9a00 RDX: 0000000000000102 RSI: 0000000000000102 RDI: 0000000000000000 RBP: ffffc900001809e0 R08: ffffffff8157ac48 R09: ffffed103ee665d1 R10: ffffed103ee665d1 R11: 1ffff1103ee665d0 R12: ffff888120d93c70 R13: dffffc0000000000 R14: ffff8881f733cb68 R15: ffff888120d93c70 FS: 00005555574d6300(0000) GS:ffff8881f7300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f4819e1f130 CR3: 0000000120d5d000 CR4: 00000000003506a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_add include/linux/list.h:69 [inline] list_add_tail include/linux/list.h:102 [inline] insert_work+0x104/0x320 kernel/workqueue.c:1362 __queue_work+0x960/0xd20 kernel/workqueue.c:1517 queue_work_on+0xf2/0x170 kernel/workqueue.c:1545 queue_work include/linux/workqueue.h:502 [inline] css_release+0xae/0xc0 kernel/cgroup/cgroup.c:5214 percpu_ref_put_many include/linux/percpu-refcount.h:335 [inline] percpu_ref_put include/linux/percpu-refcount.h:351 [inline] percpu_ref_call_confirm_rcu lib/percpu-refcount.c:163 [inline] percpu_ref_switch_to_atomic_rcu+0x60d/0x620 lib/percpu-refcount.c:205 rcu_do_batch+0x507/0xbc0 kernel/rcu/tree.c:2535 rcu_core+0x4dc/0xef0 kernel/rcu/tree.c:2786 rcu_core_si+0x9/0x10 kernel/rcu/tree.c:2803 __do_softirq+0x24e/0x586 kernel/softirq.c:558 invoke_softirq+0x70/0xd0 kernel/softirq.c:432 __irq_exit_rcu+0x4f/0xb0 kernel/softirq.c:637 irq_exit_rcu+0x9/0x10 kernel/softirq.c:649 sysvec_apic_timer_interrupt+0x9a/0xc0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0010:console_unlock+0xbf9/0x11b0 kernel/printk/printk.c:2779 Code: 00 48 81 e3 00 02 00 00 75 17 e8 62 e6 18 00 45 84 ff 74 1c e9 fe 04 00 00 0f 1f 84 00 00 00 00 00 e8 4b e6 18 00 fb 45 84 ff <0f> 85 e7 04 00 00 48 c7 c7 60 fb 0d 86 be 04 00 00 00 e8 f0 9d 57 RSP: 0018:ffffc9000168f260 EFLAGS: 00000246 RAX: ffffffff8157a5d5 RBX: 0000000000000200 RCX: ffff88810cf7b240 RDX: 0000000000000000 RSI: 0000000000000200 RDI: 0000000000000000 RBP: ffffc9000168f4b0 R08: ffffffff8157a5b0 R09: 0000000000000003 R10: fffff520002d1e3d R11: 1ffff920002d1e3c R12: ffffffff863fa208 R13: ffffc9000168f420 R14: dffffc0000000000 R15: 0000000000000000 vprintk_emit+0x141/0x440 kernel/printk/printk.c:2272 vprintk_default+0x26/0x30 kernel/printk/printk.c:2283 vprintk+0x86/0x90 kernel/printk/printk_safe.c:50 _printk+0xcf/0x10f kernel/printk/printk.c:2293 fail_dump lib/fault-inject.c:45 [inline] should_fail+0x398/0x510 lib/fault-inject.c:146 __should_failslab+0x9f/0xe0 mm/failslab.c:33 should_failslab+0x9/0x20 mm/slab_common.c:1304 slab_pre_alloc_hook mm/slab.h:724 [inline] slab_alloc_node mm/slub.c:3131 [inline] slab_alloc mm/slub.c:3225 [inline] kmem_cache_alloc_trace+0x4a/0x320 mm/slub.c:3256 kmalloc include/linux/slab.h:581 [inline] kzalloc include/linux/slab.h:714 [inline] percpu_ref_init+0xc9/0x350 lib/percpu-refcount.c:76 css_create kernel/cgroup/cgroup.c:5312 [inline] cgroup_apply_control_enable+0x383/0x10c0 kernel/cgroup/cgroup.c:3124 cgroup_apply_control+0x93/0x710 kernel/cgroup/cgroup.c:3206 cgroup_subtree_control_write+0xdde/0x1340 kernel/cgroup/cgroup.c:3364 cgroup_file_write+0x28e/0x590 kernel/cgroup/cgroup.c:3882 kernfs_fop_write_iter+0x2cd/0x410 fs/kernfs/file.c:291 call_write_iter include/linux/fs.h:2050 [inline] new_sync_write fs/read_write.c:504 [inline] vfs_write+0xbb4/0xf30 fs/read_write.c:591 ksys_write+0x198/0x2c0 fs/read_write.c:644 __do_sys_write fs/read_write.c:656 [inline] __se_sys_write fs/read_write.c:653 [inline] __x64_sys_write+0x7b/0x90 fs/read_write.c:653 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x2f/0x50 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f4819da6ae9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 81 15 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fff8dc409a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007f4819da6ae9 RDX: 0000000000000006 RSI: 0000000020000140 RDI: 0000000000000004 RBP: 00007fff8dc409d0 R08: 0000000000000001 R09: 00007fff8dc409e0 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00007fff8dc409f0 R14: 00007fff8dc40a30 R15: 0000000000000006 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:__list_add_valid+0xc6/0xd0 lib/list_debug.c:26 Code: 48 c7 c7 c0 18 68 85 4c 89 e6 4c 89 f1 31 c0 e8 a0 bd 55 02 0f 0b 48 c7 c7 80 19 68 85 4c 89 f6 4c 89 e1 31 c0 e8 8a bd 55 02 <0f> 0b 0f 1f 84 00 00 00 00 00 55 48 89 e5 41 57 41 56 41 54 53 49 RSP: 0018:ffffc900001809b8 EFLAGS: 00010046 RAX: 0000000000000075 RBX: ffff8881f733cb70 RCX: 6c75837fc12d9a00 RDX: 0000000000000102 RSI: 0000000000000102 RDI: 0000000000000000 RBP: ffffc900001809e0 R08: ffffffff8157ac48 R09: ffffed103ee665d1 R10: ffffed103ee665d1 R11: 1ffff1103ee665d0 R12: ffff888120d93c70 R13: dffffc0000000000 R14: ffff8881f733cb68 R15: ffff888120d93c70 FS: 00005555574d6300(0000) GS:ffff8881f7300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f4819e1f130 CR3: 0000000120d5d000 CR4: 00000000003506a0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 00 48 81 add %cl,-0x7f(%rax) 3: e3 00 jrcxz 0x5 5: 02 00 add (%rax),%al 7: 00 75 17 add %dh,0x17(%rbp) a: e8 62 e6 18 00 callq 0x18e671 f: 45 84 ff test %r15b,%r15b 12: 74 1c je 0x30 14: e9 fe 04 00 00 jmpq 0x517 19: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) 20: 00 21: e8 4b e6 18 00 callq 0x18e671 26: fb sti 27: 45 84 ff test %r15b,%r15b * 2a: 0f 85 e7 04 00 00 jne 0x517 <-- trapping instruction 30: 48 c7 c7 60 fb 0d 86 mov $0xffffffff860dfb60,%rdi 37: be 04 00 00 00 mov $0x4,%esi 3c: e8 .byte 0xe8 3d: f0 9d lock popfq 3f: 57 push %rdi