Oops: general protection fault, probably for non-canonical address 0xdffffc0000000084: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000420-0x0000000000000427] CPU: 0 UID: 0 PID: 36 Comm: ksmd Not tainted 6.11.0-syzkaller-10622-gaa486552a110 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 RIP: 0010:scan_get_next_rmap_item mm/ksm.c:2529 [inline] RIP: 0010:ksm_do_scan+0x823/0x6de0 mm/ksm.c:2651 Code: ff ff ff ff e8 2e f3 b6 09 48 89 c3 48 85 c0 4c 89 74 24 48 0f 84 ac 0b 00 00 48 89 5c 24 18 48 83 c3 20 48 89 d8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 df e8 9e 6b 01 00 48 8b 1b be 00 00 00 RSP: 0018:ffffc90000ac7a80 EFLAGS: 00010207 RAX: 0000000000000084 RBX: 0000000000000426 RCX: ffff8880206fbc00 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90000ac7d90 R08: ffffffff8bb09d21 R09: ffffffff8bb09ba7 R10: 0000000000000004 R11: ffff8880206fbc00 R12: ffffc90000ac7ce0 R13: ffffc90000ac7c70 R14: ffff8880325ed644 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fc569b51780 CR3: 0000000021f9c000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ksm_scan_thread+0x110/0x490 mm/ksm.c:2676 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:scan_get_next_rmap_item mm/ksm.c:2529 [inline] RIP: 0010:ksm_do_scan+0x823/0x6de0 mm/ksm.c:2651 Code: ff ff ff ff e8 2e f3 b6 09 48 89 c3 48 85 c0 4c 89 74 24 48 0f 84 ac 0b 00 00 48 89 5c 24 18 48 83 c3 20 48 89 d8 48 c1 e8 03 <42> 80 3c 38 00 74 08 48 89 df e8 9e 6b 01 00 48 8b 1b be 00 00 00 RSP: 0018:ffffc90000ac7a80 EFLAGS: 00010207 RAX: 0000000000000084 RBX: 0000000000000426 RCX: ffff8880206fbc00 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90000ac7d90 R08: ffffffff8bb09d21 R09: ffffffff8bb09ba7 R10: 0000000000000004 R11: ffff8880206fbc00 R12: ffffc90000ac7ce0 R13: ffffc90000ac7c70 R14: ffff8880325ed644 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b8700000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fc569d37a8c CR3: 000000000e734000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess), 4 bytes skipped: 0: e8 2e f3 b6 09 call 0x9b6f333 5: 48 89 c3 mov %rax,%rbx 8: 48 85 c0 test %rax,%rax b: 4c 89 74 24 48 mov %r14,0x48(%rsp) 10: 0f 84 ac 0b 00 00 je 0xbc2 16: 48 89 5c 24 18 mov %rbx,0x18(%rsp) 1b: 48 83 c3 20 add $0x20,%rbx 1f: 48 89 d8 mov %rbx,%rax 22: 48 c1 e8 03 shr $0x3,%rax * 26: 42 80 3c 38 00 cmpb $0x0,(%rax,%r15,1) <-- trapping instruction 2b: 74 08 je 0x35 2d: 48 89 df mov %rbx,%rdi 30: e8 9e 6b 01 00 call 0x16bd3 35: 48 8b 1b mov (%rbx),%rbx 38: be .byte 0xbe 39: 00 00 add %al,(%rax)