syzbot
BUG: corrupted list in cd_forget
Status:
premoderation: reported on 2026/07/30 11:58
Reported-by: syzbot+5be07177c8440f52a273@syzkaller.appspotmail.com
First crash: 2d18h, last: 2d18h
Sample crash report:
---[ end trace e54d139ebee72c20 ]---
list_del corruption. prev->next should be ffff8881296f4ab8, but was ffff888112583460
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:61!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 1114 Comm: syz.3.269 Tainted: G W syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
RIP: 0010:__list_del_entry_valid+0x10c/0x120 lib/list_debug.c:59
Code: 48 89 de e8 26 4c 56 02 0f 0b 48 c7 c7 80 87 63 85 48 89 de e8 15 4c 56 02 0f 0b 48 c7 c7 e0 87 63 85 48 89 de e8 04 4c 56 02 <0f> 0b 48 c7 c7 40 88 63 85 48 89 de e8 f3 4b 56 02 0f 0b 00 55 48
RSP: 0018:ffffc900015d7ab8 EFLAGS: 00010246
RAX: 0000000000000054 RBX: ffff8881296f4ab8 RCX: e40addb3f388d000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900015d7ad8 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520002baeb8 R12: dffffc0000000000
R13: ffff8881296f48b0 R14: ffff888112583460 R15: ffff888112583460
FS: 0000555569a54500(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb7faa21680 CR3: 000000012f9d6000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__list_del_entry include/linux/list.h:132 [inline]
list_del_init include/linux/list.h:204 [inline]
cd_forget+0x3a/0x170 fs/char_dev.c:429
evict+0x536/0x8b0 fs/inode.c:656
iput_final fs/inode.c:1779 [inline]
iput+0x651/0x7e0 fs/inode.c:1805
dentry_unlink_inode+0x338/0x3e0 fs/dcache.c:380
__dentry_kill+0x45b/0x660 fs/dcache.c:586
dentry_kill+0xc0/0x2a0 fs/dcache.c:-1
dput+0x47/0x90 fs/dcache.c:893
__fput+0x5c7/0x900 fs/file_table.c:319
____fput+0x15/0x20 fs/file_table.c:339
task_work_run+0x127/0x190 kernel/task_work.c:188
tracehook_notify_resume include/linux/tracehook.h:189 [inline]
exit_to_user_mode_loop+0xd0/0xe0 kernel/entry/common.c:181
exit_to_user_mode_prepare+0x87/0xd0 kernel/entry/common.c:214
__syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
syscall_exit_to_user_mode+0x1a/0x30 kernel/entry/common.c:307
do_syscall_64+0x58/0xa0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f208f8b0f99
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffde87288e8 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4
RAX: 0000000000000000 RBX: 00007f208fb3ada0 RCX: 00007f208f8b0f99
RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003
RBP: 00007f208fb3ada0 R08: 0000000000000006 R09: 0000000000000000
R10: 00007f208fb3acb0 R11: 0000000000000246 R12: 000000000000b1d5
R13: 00007f208fb3909c R14: 000000000000af02 R15: 00007f208fb39090
</TASK>
Modules linked in:
---[ end trace e54d139ebee72c21 ]---
RIP: 0010:__list_del_entry_valid+0x10c/0x120 lib/list_debug.c:59
Code: 48 89 de e8 26 4c 56 02 0f 0b 48 c7 c7 80 87 63 85 48 89 de e8 15 4c 56 02 0f 0b 48 c7 c7 e0 87 63 85 48 89 de e8 04 4c 56 02 <0f> 0b 48 c7 c7 40 88 63 85 48 89 de e8 f3 4b 56 02 0f 0b 00 55 48
RSP: 0018:ffffc900015d7ab8 EFLAGS: 00010246
RAX: 0000000000000054 RBX: ffff8881296f4ab8 RCX: e40addb3f388d000
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffc900015d7ad8 R08: 0000000000000003 R09: 0000000000000004
R10: dffffc0000000000 R11: fffff520002baeb8 R12: dffffc0000000000
R13: ffff8881296f48b0 R14: ffff888112583460 R15: ffff888112583460
FS: 0000555569a54500(0000) GS:ffff8881f7000000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb7faa21680 CR3: 000000012f9d6000 CR4: 00000000003506b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
* Struck through repros no longer work on HEAD.