list_add corruption. next->prev should be prev (ffffffff8e5a5720), but was dead000000000122. (next=ffff888023ceb000). ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:27! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 3 PID: 10536 Comm: syz-executor.1 Not tainted 6.4.0-rc5-syzkaller #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 RIP: 0010:__list_add_valid+0xa5/0x100 lib/list_debug.c:27 Code: c7 c7 40 f0 a6 8a e8 0a fc 50 fd 0f 0b 48 c7 c7 e0 f0 a6 8a e8 fc fb 50 fd 0f 0b 4c 89 e1 48 c7 c7 40 f1 a6 8a e8 eb fb 50 fd <0f> 0b 48 89 f1 48 c7 c7 c0 f1 a6 8a 4c 89 e6 e8 d7 fb 50 fd 0f 0b RSP: 0018:ffffc9000ce97810 EFLAGS: 00010286 RAX: 0000000000000075 RBX: ffff88801d8c5000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff8167dcbc RDI: 0000000000000005 RBP: ffff88801d8c5000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 6464615f7473696c R12: ffff888023ceb000 R13: ffff888023ceb000 R14: 0000000000000000 R15: ffff888029c91140 FS: 00007f9a7697e700(0000) GS:ffff88806b900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f9a75d831b8 CR3: 000000001e2c7000 CR4: 0000000000350ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __list_add include/linux/list.h:69 [inline] list_add include/linux/list.h:88 [inline] nfc_llcp_register_device+0x7a8/0x9e0 net/nfc/llcp_core.c:1604 nfc_register_device+0x70/0x3c0 net/nfc/core.c:1124 nci_register_device+0x7cb/0xb50 net/nfc/nci/core.c:1257 virtual_ncidev_open+0x14f/0x230 drivers/nfc/virtual_ncidev.c:148 misc_open+0x37a/0x4a0 drivers/char/misc.c:165 chrdev_open+0x26a/0x770 fs/char_dev.c:414 do_dentry_open+0x6cc/0x13f0 fs/open.c:920 do_open fs/namei.c:3636 [inline] path_openat+0x1baa/0x2750 fs/namei.c:3791 do_filp_open+0x1ba/0x410 fs/namei.c:3818 do_sys_openat2+0x16d/0x4c0 fs/open.c:1356 do_sys_open fs/open.c:1372 [inline] __do_sys_openat fs/open.c:1388 [inline] __se_sys_openat fs/open.c:1383 [inline] __x64_sys_openat+0x143/0x1f0 fs/open.c:1383 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7f9a75c8c169 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 19 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f9a7697e168 EFLAGS: 00000246 ORIG_RAX: 0000000000000101 RAX: ffffffffffffffda RBX: 00007f9a75dabf80 RCX: 00007f9a75c8c169 RDX: 0000000000000002 RSI: 0000000020000080 RDI: ffffffffffffff9c RBP: 00007f9a75ce7ca1 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffd7762a45f R14: 00007f9a7697e300 R15: 0000000000022000 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:__list_add_valid+0xa5/0x100 lib/list_debug.c:27 Code: c7 c7 40 f0 a6 8a e8 0a fc 50 fd 0f 0b 48 c7 c7 e0 f0 a6 8a e8 fc fb 50 fd 0f 0b 4c 89 e1 48 c7 c7 40 f1 a6 8a e8 eb fb 50 fd <0f> 0b 48 89 f1 48 c7 c7 c0 f1 a6 8a 4c 89 e6 e8 d7 fb 50 fd 0f 0b RSP: 0018:ffffc9000ce97810 EFLAGS: 00010286 RAX: 0000000000000075 RBX: ffff88801d8c5000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffffff8167dcbc RDI: 0000000000000005 RBP: ffff88801d8c5000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000080000000 R11: 6464615f7473696c R12: ffff888023ceb000 R13: ffff888023ceb000 R14: 0000000000000000 R15: ffff888029c91140 FS: 00007f9a7697e700(0000) GS:ffff88806b800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f24195a80e0 CR3: 000000001e2c7000 CR4: 0000000000350ee0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400