BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 1131f0067 P4D 1131f0067 PUD 1130c2067 PMD 0 Oops: 0000 [#1] PREEMPT SMP CPU: 0 PID: 2042 Comm: kworker/0:2 Not tainted 6.5.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 Workqueue: events_long serio_handle_event RIP: 0010:strchr+0x4/0x30 lib/string.c:329 Code: c0 eb 0d 84 c9 74 18 48 83 c0 01 48 39 d0 74 0f 0f b6 0c 07 3a 0c 06 74 ea 19 c0 83 c8 01 c3 31 c0 c3 0f 1f 40 00 f3 0f 1e fa <0f> b6 07 89 f2 40 38 f0 75 0e eb 13 0f b6 47 01 48 83 c7 01 38 d0 RSP: 0018:ffffc90000f77ce8 EFLAGS: 00010246 RAX: ffffc90000f77d50 RBX: 0000000000000000 RCX: ffffc90000f77cec RDX: ffffc90000f77d30 RSI: 0000000000000025 RDI: 0000000000000000 RBP: ffffc90000f77d30 R08: 00000000000000f4 R09: ffff8881072925a8 R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000cc0 R13: 0000000000000000 R14: ffff8881132cf660 R15: ffff88810df4a9c0 FS: 0000000000000000(0000) GS:ffff888237c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000110356000 CR4: 0000000000350ef0 Call Trace: kvasprintf_const+0x1e/0xa0 lib/kasprintf.c:45 kobject_set_name_vargs+0x20/0x90 lib/kobject.c:272 kobject_add_varg lib/kobject.c:366 [inline] kobject_add+0x84/0x100 lib/kobject.c:424 device_add+0xe4/0x8d0 drivers/base/core.c:3562 serio_add_port drivers/input/serio/serio.c:539 [inline] serio_handle_event+0x2a2/0x2f0 drivers/input/serio/serio.c:207 process_one_work+0x297/0x4f0 kernel/workqueue.c:2597 worker_thread+0x4e/0x330 kernel/workqueue.c:2748 kthread+0xde/0x110 kernel/kthread.c:389 ret_from_fork+0x2c/0x40 arch/x86/kernel/process.c:145 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 Modules linked in: CR2: 0000000000000000 ---[ end trace 0000000000000000 ]--- RIP: 0010:strchr+0x4/0x30 lib/string.c:329 Code: c0 eb 0d 84 c9 74 18 48 83 c0 01 48 39 d0 74 0f 0f b6 0c 07 3a 0c 06 74 ea 19 c0 83 c8 01 c3 31 c0 c3 0f 1f 40 00 f3 0f 1e fa <0f> b6 07 89 f2 40 38 f0 75 0e eb 13 0f b6 47 01 48 83 c7 01 38 d0 RSP: 0018:ffffc90000f77ce8 EFLAGS: 00010246 RAX: ffffc90000f77d50 RBX: 0000000000000000 RCX: ffffc90000f77cec RDX: ffffc90000f77d30 RSI: 0000000000000025 RDI: 0000000000000000 RBP: ffffc90000f77d30 R08: 00000000000000f4 R09: ffff8881072925a8 R10: 0000000000000000 R11: 0000000000000003 R12: 0000000000000cc0 R13: 0000000000000000 R14: ffff8881132cf660 R15: ffff88810df4a9c0 FS: 0000000000000000(0000) GS:ffff888237c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000110356000 CR4: 0000000000350ef0 ---------------- Code disassembly (best guess): 0: c0 eb 0d shr $0xd,%bl 3: 84 c9 test %cl,%cl 5: 74 18 je 0x1f 7: 48 83 c0 01 add $0x1,%rax b: 48 39 d0 cmp %rdx,%rax e: 74 0f je 0x1f 10: 0f b6 0c 07 movzbl (%rdi,%rax,1),%ecx 14: 3a 0c 06 cmp (%rsi,%rax,1),%cl 17: 74 ea je 0x3 19: 19 c0 sbb %eax,%eax 1b: 83 c8 01 or $0x1,%eax 1e: c3 ret 1f: 31 c0 xor %eax,%eax 21: c3 ret 22: 0f 1f 40 00 nopl 0x0(%rax) 26: f3 0f 1e fa endbr64 * 2a: 0f b6 07 movzbl (%rdi),%eax <-- trapping instruction 2d: 89 f2 mov %esi,%edx 2f: 40 38 f0 cmp %sil,%al 32: 75 0e jne 0x42 34: eb 13 jmp 0x49 36: 0f b6 47 01 movzbl 0x1(%rdi),%eax 3a: 48 83 c7 01 add $0x1,%rdi 3e: 38 d0 cmp %dl,%al