Kernel bug: BUG: corrupted list in add_to_unbuddied
Subsystem: mm
Status: open

Crash report:
 slab kmalloc-96 start ffff88801d194180 pointer offset 0 size 96
list_add corruption. next->prev should be prev (ffffe8ffffc380b0), but was ffffffff84ba7b60. (next=ffff88801d194180).
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:31!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 47 Comm: kworker/u4:3 Not tainted 6.14.0-rc7-syzkaller-00186-gd07de43e3f05 #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+0xf3/0x130 lib/list_debug.c:29
Code: 84 0a fd 42 80 7c 2d 00 00 74 08 48 89 df e8 d4 7c 2c fd 49 8b 56 08 48 c7 c7 60 02 81 8c 4c 89 e6 4c 89 f1 e8 de 63 2a fc 90 <0f> 0b 4c 89 e7 e8 c3 84 0a fd 42 80 3c 2b 00 74 08 4c 89 e7 e8 a4
RSP: 0018:ffffc90000627a28 EFLAGS: 00010246
RAX: 0000000000000075 RBX: ffff88801d194188 RCX: 26623f43b528bd00
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000
RBP: 1ffff11003a32831 R08: ffffffff81a1364c R09: fffffbfff1d3a69c
R10: dffffc0000000000 R11: fffffbfff1d3a69c R12: ffffe8ffffc380b0
R13: dffffc0000000000 R14: ffff88801d194180 R15: ffff888040342000
FS:  0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000c002a1f008 CR3: 00000000442ca000 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+0x2e4/0x4d0 mm/z3fold.c:550
 do_compact_page+0x5da/0xd30 mm/z3fold.c:772
 process_one_work kernel/workqueue.c:3238 [inline]
 process_scheduled_works+0xabe/0x18e0 kernel/workqueue.c:3319
 worker_thread+0x870/0xd30 kernel/workqueue.c:3400
 kthread+0x7a9/0x920 kernel/kthread.c:464
 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148
 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+0xf3/0x130 lib/list_debug.c:29
Code: 84 0a fd 42 80 7c 2d 00 00 74 08 48 89 df e8 d4 7c 2c fd 49 8b 56 08 48 c7 c7 60 02 81 8c 4c 89 e6 4c 89 f1 e8 de 63 2a fc 90 <0f> 0b 4c 89 e7 e8 c3 84 0a fd 42 80 3c 2b 00 74 08 4c 89 e7 e8 a4
RSP: 0018:ffffc90000627a28 EFLAGS: 00010246
RAX: 0000000000000075 RBX: ffff88801d194188 RCX: 26623f43b528bd00
RDX: 0000000000000000 RSI: 0000000000000002 RDI: 0000000000000000
RBP: 1ffff11003a32831 R08: ffffffff81a1364c R09: fffffbfff1d3a69c
R10: dffffc0000000000 R11: fffffbfff1d3a69c R12: ffffe8ffffc380b0
R13: dffffc0000000000 R14: ffff88801d194180 R15: ffff888040342000
FS:  0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000c002a1f008 CR3: 00000000442ca000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400