general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 PID: 27 Comm: kworker/1:1 Not tainted 6.5.0-syzkaller-11938-g65d6e954e378 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023 Workqueue: events_long serio_handle_event RIP: 0010:strchr+0x21/0x90 lib/string.c:329 Code: 00 00 00 00 00 0f 1f 40 00 f3 0f 1e fa 55 41 57 41 56 53 41 89 f6 48 89 fb 49 bf 00 00 00 00 00 fc ff df 48 89 f8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 75 4f 0f b6 03 44 38 f0 74 3d 48 8d 6b 01 84 RSP: 0018:ffffc90000a2fa10 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff888018661dc0 RDX: 0000000000000000 RSI: 0000000000000025 RDI: 0000000000000000 RBP: 0000000000000000 R08: ffffffff8abcd929 R09: 0000000000000000 R10: ffffc90000a2fb00 R11: fffff52000145f63 R12: dffffc0000000000 R13: 1ffff11002850e40 R14: 0000000000000025 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f05cbb200d0 CR3: 0000000027eb5000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: kvasprintf_const+0x29/0x170 lib/kasprintf.c:45 kobject_set_name_vargs+0x61/0x120 lib/kobject.c:272 kobject_add_varg lib/kobject.c:366 [inline] kobject_add+0x113/0x210 lib/kobject.c:424 device_add+0x449/0xc90 drivers/base/core.c:3560 serio_add_port drivers/input/serio/serio.c:539 [inline] serio_handle_event+0x752/0x910 drivers/input/serio/serio.c:207 process_one_work+0x781/0x1130 kernel/workqueue.c:2630 process_scheduled_works kernel/workqueue.c:2703 [inline] worker_thread+0xabf/0x1060 kernel/workqueue.c:2784 kthread+0x2b8/0x350 kernel/kthread.c:388 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:strchr+0x21/0x90 lib/string.c:329 Code: 00 00 00 00 00 0f 1f 40 00 f3 0f 1e fa 55 41 57 41 56 53 41 89 f6 48 89 fb 49 bf 00 00 00 00 00 fc ff df 48 89 f8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 75 4f 0f b6 03 44 38 f0 74 3d 48 8d 6b 01 84 RSP: 0018:ffffc90000a2fa10 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff888018661dc0 RDX: 0000000000000000 RSI: 0000000000000025 RDI: 0000000000000000 RBP: 0000000000000000 R08: ffffffff8abcd929 R09: 0000000000000000 R10: ffffc90000a2fb00 R11: fffff52000145f63 R12: dffffc0000000000 R13: 1ffff11002850e40 R14: 0000000000000025 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f05cbb200d0 CR3: 000000000d130000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 00 00 add %al,(%rax) 2: 00 00 add %al,(%rax) 4: 0f 1f 40 00 nopl 0x0(%rax) 8: f3 0f 1e fa endbr64 c: 55 push %rbp d: 41 57 push %r15 f: 41 56 push %r14 11: 53 push %rbx 12: 41 89 f6 mov %esi,%r14d 15: 48 89 fb mov %rdi,%rbx 18: 49 bf 00 00 00 00 00 movabs $0xdffffc0000000000,%r15 1f: fc ff df 22: 48 89 f8 mov %rdi,%rax 25: 48 c1 e8 03 shr $0x3,%rax * 29: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax <-- trapping instruction 2e: 84 c0 test %al,%al 30: 75 4f jne 0x81 32: 0f b6 03 movzbl (%rbx),%eax 35: 44 38 f0 cmp %r14b,%al 38: 74 3d je 0x77 3a: 48 8d 6b 01 lea 0x1(%rbx),%rbp 3e: 84 .byte 0x84