list_add corruption. next->prev should be prev (ffffe8ffffc31ed0), but was ffff88803d659000. (next=ffff88801f999400). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:31! Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI CPU: 0 UID: 0 PID: 12 Comm: kworker/u4:1 Not tainted 6.12.0-rc3-syzkaller-00087-gc964ced77262 #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+0xd6/0xf0 lib/list_debug.c:29 Code: e8 df 2c 00 07 90 0f 0b 48 c7 c7 80 02 61 8c e8 d0 2c 00 07 90 0f 0b 48 c7 c7 e0 02 61 8c 4c 89 e6 4c 89 f1 e8 bb 2c 00 07 90 <0f> 0b 48 c7 c7 60 03 61 8c 4c 89 f6 4c 89 e1 e8 a6 2c 00 07 90 0f RSP: 0000:ffffc900003e7ad0 EFLAGS: 00010246 RAX: 0000000000000075 RBX: ffff88801f999408 RCX: ab9d5df3e38e6800 RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000 RBP: ffffe8ffffc31ed0 R08: ffffffff8174afec R09: fffffbfff1cf9fd8 R10: dffffc0000000000 R11: fffffbfff1cf9fd8 R12: ffffe8ffffc31ed0 R13: dffffc0000000000 R14: ffff88801f999400 R15: ffff888011a8d000 FS: 0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f2598600038 CR3: 0000000040788000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __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+0x2e4/0x4d0 mm/z3fold.c:550 do_compact_page+0x924/0xc50 mm/z3fold.c:772 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa63/0x1850 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:__list_add_valid_or_report+0xd6/0xf0 lib/list_debug.c:29 Code: e8 df 2c 00 07 90 0f 0b 48 c7 c7 80 02 61 8c e8 d0 2c 00 07 90 0f 0b 48 c7 c7 e0 02 61 8c 4c 89 e6 4c 89 f1 e8 bb 2c 00 07 90 <0f> 0b 48 c7 c7 60 03 61 8c 4c 89 f6 4c 89 e1 e8 a6 2c 00 07 90 0f RSP: 0000:ffffc900003e7ad0 EFLAGS: 00010246 RAX: 0000000000000075 RBX: ffff88801f999408 RCX: ab9d5df3e38e6800 RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000 RBP: ffffe8ffffc31ed0 R08: ffffffff8174afec R09: fffffbfff1cf9fd8 R10: dffffc0000000000 R11: fffffbfff1cf9fd8 R12: ffffe8ffffc31ed0 R13: dffffc0000000000 R14: ffff88801f999400 R15: ffff888011a8d000 FS: 0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f2598600038 CR3: 0000000040788000 CR4: 0000000000352ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400