list_del corruption. prev->next should be ffff88808ffd50f0, but was ffff88808ffd5520 ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:51! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 9342 Comm: syz-executor.3 Not tainted 5.5.0-rc1-next-20191211-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__list_del_entry_valid.cold+0xf/0x4f lib/list_debug.c:51 Code: e8 c9 00 cb fd 0f 0b 48 89 f1 48 c7 c7 c0 10 70 88 4c 89 e6 e8 b5 00 cb fd 0f 0b 4c 89 f6 48 c7 c7 60 12 70 88 e8 a4 00 cb fd <0f> 0b 4c 89 ea 4c 89 f6 48 c7 c7 a0 11 70 88 e8 90 00 cb fd 0f 0b RSP: 0018:ffffc90004cf7c08 EFLAGS: 00010286 RAX: 0000000000000054 RBX: ffff88808ffd5420 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff815e8576 RDI: fffff5200099ef73 RBP: ffffc90004cf7c20 R08: 0000000000000054 R09: fffffbfff165a7a6 R10: fffffbfff165a7a5 R11: ffffffff8b2d3d2f R12: ffff88808ffd22d0 R13: ffff88808ffd5520 R14: ffff88808ffd50f0 R15: ffff88808ffd50f0 FS: 0000000001af2940(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000625208 CR3: 000000009b2b8000 CR4: 00000000001426e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_del_entry include/linux/list.h:131 [inline] dentry_unlist fs/dcache.c:522 [inline] __dentry_kill+0x1fd/0x600 fs/dcache.c:575 dentry_kill fs/dcache.c:698 [inline] dput+0x62f/0xe10 fs/dcache.c:859 simple_recursive_removal+0x5bc/0x6d0 fs/libfs.c:302 debugfs_remove fs/debugfs/inode.c:713 [inline] debugfs_remove+0x5e/0x80 fs/debugfs/inode.c:707 hid_debug_unregister+0x80/0x100 drivers/hid/hid-debug.c:1203 hid_remove_device drivers/hid/hid-core.c:2460 [inline] hid_destroy_device+0xf2/0x150 drivers/hid/hid-core.c:2478 uhid_dev_destroy+0xaa/0x110 drivers/hid/uhid.c:567 uhid_char_release+0x54/0xc0 drivers/hid/uhid.c:642 __fput+0x2ff/0x890 fs/file_table.c:280 ____fput+0x16/0x20 fs/file_table.c:313 task_work_run+0x145/0x1c0 kernel/task_work.c:113 tracehook_notify_resume include/linux/tracehook.h:188 [inline] exit_to_usermode_loop+0x316/0x380 arch/x86/entry/common.c:164 prepare_exit_to_usermode arch/x86/entry/common.c:195 [inline] syscall_return_slowpath arch/x86/entry/common.c:278 [inline] do_syscall_64+0x676/0x790 arch/x86/entry/common.c:304 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x4143e1 Code: 75 14 b8 03 00 00 00 0f 05 48 3d 01 f0 ff ff 0f 83 04 1b 00 00 c3 48 83 ec 08 e8 0a fc ff ff 48 89 04 24 b8 03 00 00 00 0f 05 <48> 8b 3c 24 48 89 c2 e8 53 fc ff ff 48 89 d0 48 83 c4 08 48 3d 01 RSP: 002b:00007ffebf432c20 EFLAGS: 00000293 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 000000000000000d RCX: 00000000004143e1 RDX: 0000000000000000 RSI: 000000000000123a RDI: 000000000000000c RBP: 0000000000000001 R08: 00000000a272d23a R09: 00000000a272d23e R10: 00007ffebf432d00 R11: 0000000000000293 R12: 000000000075c9a0 R13: 000000000075c9a0 R14: 0000000000762d70 R15: 000000000075c07c Modules linked in: ---[ end trace 14ac0f1003a20340 ]--- RIP: 0010:__list_del_entry_valid.cold+0xf/0x4f lib/list_debug.c:51 Code: e8 c9 00 cb fd 0f 0b 48 89 f1 48 c7 c7 c0 10 70 88 4c 89 e6 e8 b5 00 cb fd 0f 0b 4c 89 f6 48 c7 c7 60 12 70 88 e8 a4 00 cb fd <0f> 0b 4c 89 ea 4c 89 f6 48 c7 c7 a0 11 70 88 e8 90 00 cb fd 0f 0b RSP: 0018:ffffc90004cf7c08 EFLAGS: 00010286 RAX: 0000000000000054 RBX: ffff88808ffd5420 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff815e8576 RDI: fffff5200099ef73 RBP: ffffc90004cf7c20 R08: 0000000000000054 R09: fffffbfff165a7a6 R10: fffffbfff165a7a5 R11: ffffffff8b2d3d2f R12: ffff88808ffd22d0 R13: ffff88808ffd5520 R14: ffff88808ffd50f0 R15: ffff88808ffd50f0 FS: 0000000001af2940(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000625208 CR3: 000000009b2b8000 CR4: 00000000001426e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400