syzbot has found a reproducer for the following issue on: HEAD commit: f23aa4c0761a Merge tag 'hid-for-linus-2024090201' of git:/.. git tree: upstream console output: https://syzkaller.appspot.com/x/log.txt?x=13904b9f980000 kernel config: https://syzkaller.appspot.com/x/.config?x=6248f0ab12f33349 dashboard link: https://syzkaller.appspot.com/bug?extid=b7a3118f6a494674077f compiler: gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40 syz repro: https://syzkaller.appspot.com/x/repro.syz?x=174ab580580000 Downloadable assets: disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/7feb34a89c2a/non_bootable_disk-f23aa4c0.raw.xz vmlinux: https://storage.googleapis.com/syzbot-assets/6b65e6e0b52b/vmlinux-f23aa4c0.xz kernel image: https://storage.googleapis.com/syzbot-assets/5dd7d20b144c/bzImage-f23aa4c0.xz IMPORTANT: if you fix the issue, please add the following tag to the commit: Reported-by: syzbot+b7a3118f6a494674077f@xxxxxxxxxxxxxxxxxxxxxxxxx list_add corruption. next->prev should be prev (ffffe8fefc9300e0), but was ffff88810a694800. (next=ffff88810868fc00). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:29! Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI CPU: 3 UID: 0 PID: 69 Comm: kworker/u32:3 Not tainted 6.12.0-rc1-syzkaller-00042-gf23aa4c0761a #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Workqueue: zswap1 compact_page_work RIP: 0010:__list_add_valid_or_report+0xa9/0x100 lib/list_debug.c:29 Code: 9d d1 8b e8 19 93 d8 fc 90 0f 0b 48 c7 c7 60 9e d1 8b e8 0a 93 d8 fc 90 0f 0b 48 89 d9 48 c7 c7 c0 9e d1 8b e8 f8 92 d8 fc 90 <0f> 0b 48 89 f1 48 c7 c7 40 9f d1 8b 48 89 de e8 e3 92 d8 fc 90 0f RSP: 0018:ffffc90000d67bf8 EFLAGS: 00010286 RAX: 0000000000000075 RBX: ffff88810868fc00 RCX: ffffffff816d47e9 RDX: 0000000000000000 RSI: ffffffff816df0e6 RDI: 0000000000000005 RBP: ffff888040c49000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000002 R11: 0000000000000000 R12: ffff88810868fc00 R13: ffff888040c490b0 R14: ffffea0001031240 R15: ffff888040c49008 FS: 0000000000000000(0000) GS:ffff88806a900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055555b764808 CR3: 000000006493a000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> __list_add_valid include/linux/list.h:88 [inline] __list_add include/linux/list.h:150 [inline] list_add include/linux/list.h:169 [inline] add_to_unbuddied mm/z3fold.c:550 [inline] do_compact_page+0x10f2/0x27b0 mm/z3fold.c:772 process_one_work+0x9c5/0x1ba0 kernel/workqueue.c:3229 process_scheduled_works kernel/workqueue.c:3310 [inline] worker_thread+0x6c8/0xf00 kernel/workqueue.c:3391 kthread+0x2c1/0x3a0 kernel/kthread.c:389 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK> Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:__list_add_valid_or_report+0xa9/0x100 lib/list_debug.c:29 Code: 9d d1 8b e8 19 93 d8 fc 90 0f 0b 48 c7 c7 60 9e d1 8b e8 0a 93 d8 fc 90 0f 0b 48 89 d9 48 c7 c7 c0 9e d1 8b e8 f8 92 d8 fc 90 <0f> 0b 48 89 f1 48 c7 c7 40 9f d1 8b 48 89 de e8 e3 92 d8 fc 90 0f RSP: 0018:ffffc90000d67bf8 EFLAGS: 00010286 RAX: 0000000000000075 RBX: ffff88810868fc00 RCX: ffffffff816d47e9 RDX: 0000000000000000 RSI: ffffffff816df0e6 RDI: 0000000000000005 RBP: ffff888040c49000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000002 R11: 0000000000000000 R12: ffff88810868fc00 R13: ffff888040c490b0 R14: ffffea0001031240 R15: ffff888040c49008 FS: 0000000000000000(0000) GS:ffff88806a900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000055555b764808 CR3: 000000006493a000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 --- If you want syzbot to run the reproducer, reply with: #syz test: git://repo/address.git branch-or-commit-hash If you attach or paste a git patch, syzbot will apply it before testing.