Oops: general protection fault, probably for non-canonical address 0xdffffc000000001f: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x00000000000000f8-0x00000000000000ff] CPU: 0 PID: 8 Comm: kworker/0:0 Not tainted 6.9.0-rc2-next-20240403-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024 Workqueue: pm pm_runtime_work RIP: 0010:serial8250_tx_chars+0x28c/0x8a0 drivers/tty/serial/8250/8250_port.c:1799 Code: 5a ff bf fc 48 8b 2b 48 8b 44 24 20 42 0f b6 04 38 84 c0 0f 85 97 02 00 00 48 8b 04 24 48 63 00 48 01 c5 48 89 e8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 99 02 00 00 0f b6 6d 00 48 8b 44 24 58 RSP: 0018:ffffc900000d7830 EFLAGS: 00010002 RAX: 000000000000001f RBX: ffff8880201d0fd0 RCX: 1ffffffff294c06f RDX: 1ffffffff294c0b9 RSI: 00000000000000fb RDI: ffffffff94a605d0 RBP: 00000000000000fb R08: ffffffff853a5357 R09: fffff5200001af00 R10: dffffc0000000000 R11: ffffffff853b02a0 R12: ffffffff94a60370 R13: ffffffff94a60428 R14: ffffffff94a60320 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f25a137abf8 CR3: 0000000064b7a000 CR4: 00000000003506f0 Call Trace: __start_tx+0x32e/0x470 drivers/tty/serial/8250/8250_port.c:1534 serial_port_runtime_suspend+0x21d/0x2e0 drivers/tty/serial/serial_port.c:65 __rpm_callback+0x2df/0x790 drivers/base/power/runtime.c:394 rpm_callback drivers/base/power/runtime.c:448 [inline] rpm_suspend+0x88c/0x1730 drivers/base/power/runtime.c:672 pm_runtime_work+0x175/0x210 drivers/base/power/runtime.c:976 process_one_work kernel/workqueue.c:3218 [inline] process_scheduled_works+0xa2c/0x1830 kernel/workqueue.c:3299 worker_thread+0x86d/0xd70 kernel/workqueue.c:3380 kthread+0x2f0/0x390 kernel/kthread.c:388 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:serial8250_tx_chars+0x28c/0x8a0 drivers/tty/serial/8250/8250_port.c:1799 Code: 5a ff bf fc 48 8b 2b 48 8b 44 24 20 42 0f b6 04 38 84 c0 0f 85 97 02 00 00 48 8b 04 24 48 63 00 48 01 c5 48 89 e8 48 c1 e8 03 <42> 0f b6 04 38 84 c0 0f 85 99 02 00 00 0f b6 6d 00 48 8b 44 24 58 RSP: 0018:ffffc900000d7830 EFLAGS: 00010002 RAX: 000000000000001f RBX: ffff8880201d0fd0 RCX: 1ffffffff294c06f RDX: 1ffffffff294c0b9 RSI: 00000000000000fb RDI: ffffffff94a605d0 RBP: 00000000000000fb R08: ffffffff853a5357 R09: fffff5200001af00 R10: dffffc0000000000 R11: ffffffff853b02a0 R12: ffffffff94a60370 R13: ffffffff94a60428 R14: ffffffff94a60320 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b9400000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f25a137abf8 CR3: 0000000064b7a000 CR4: 00000000003506f0 ---------------- Code disassembly (best guess), 2 bytes skipped: 0: bf fc 48 8b 2b mov $0x2b8b48fc,%edi 5: 48 8b 44 24 20 mov 0x20(%rsp),%rax a: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax f: 84 c0 test %al,%al 11: 0f 85 97 02 00 00 jne 0x2ae 17: 48 8b 04 24 mov (%rsp),%rax 1b: 48 63 00 movslq (%rax),%rax 1e: 48 01 c5 add %rax,%rbp 21: 48 89 e8 mov %rbp,%rax 24: 48 c1 e8 03 shr $0x3,%rax * 28: 42 0f b6 04 38 movzbl (%rax,%r15,1),%eax <-- trapping instruction 2d: 84 c0 test %al,%al 2f: 0f 85 99 02 00 00 jne 0x2ce 35: 0f b6 6d 00 movzbl 0x0(%rbp),%ebp 39: 48 8b 44 24 58 mov 0x58(%rsp),%rax