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: 1 UID: 0 PID: 36 Comm: ksmd Not tainted 6.11.0-rc2-syzkaller-00042-gcf6d429eb656 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 RIP: 0010:scan_get_next_rmap_item mm/ksm.c:2557 [inline] RIP: 0010:ksm_do_scan+0x792/0x6700 mm/ksm.c:2669 Code: 89 e7 48 c7 c6 ff ff ff ff e8 2a 03 ac 09 49 89 c6 48 85 c0 4c 89 7c 24 58 0f 84 c9 0a 00 00 49 8d 5e 20 48 89 d8 48 c1 e8 03 <42> 80 3c 28 00 74 08 48 89 df e8 ff 60 01 00 48 8b 1b be 00 00 00 RSP: 0018:ffffc90000ac7b60 EFLAGS: 00010207 RAX: 0000000000000084 RBX: 0000000000000426 RCX: ffff88801b69da00 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90000ac7d90 R08: ffffffff8ba20624 R09: ffffffff8ba204a9 R10: 0000000000000004 R11: ffff88801b69da00 R12: ffffc90000ac7ce0 R13: dffffc0000000000 R14: 0000000000000406 R15: ffff888023cf72c4 FS: 0000000000000000(0000) GS:ffff8880b9300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffe8 CR3: 0000000021fa6000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ksm_scan_thread+0x110/0x490 mm/ksm.c:2694 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:2557 [inline] RIP: 0010:ksm_do_scan+0x792/0x6700 mm/ksm.c:2669 Code: 89 e7 48 c7 c6 ff ff ff ff e8 2a 03 ac 09 49 89 c6 48 85 c0 4c 89 7c 24 58 0f 84 c9 0a 00 00 49 8d 5e 20 48 89 d8 48 c1 e8 03 <42> 80 3c 28 00 74 08 48 89 df e8 ff 60 01 00 48 8b 1b be 00 00 00 RSP: 0018:ffffc90000ac7b60 EFLAGS: 00010207 RAX: 0000000000000084 RBX: 0000000000000426 RCX: ffff88801b69da00 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90000ac7d90 R08: ffffffff8ba20624 R09: ffffffff8ba204a9 R10: 0000000000000004 R11: ffff88801b69da00 R12: ffffc90000ac7ce0 R13: dffffc0000000000 R14: 0000000000000406 R15: ffff888023cf72c4 FS: 0000000000000000(0000) GS:ffff8880b9300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: ffffffffffffffe8 CR3: 0000000070e58000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 89 e7 mov %esp,%edi 2: 48 c7 c6 ff ff ff ff mov $0xffffffffffffffff,%rsi 9: e8 2a 03 ac 09 call 0x9ac0338 e: 49 89 c6 mov %rax,%r14 11: 48 85 c0 test %rax,%rax 14: 4c 89 7c 24 58 mov %r15,0x58(%rsp) 19: 0f 84 c9 0a 00 00 je 0xae8 1f: 49 8d 5e 20 lea 0x20(%r14),%rbx 23: 48 89 d8 mov %rbx,%rax 26: 48 c1 e8 03 shr $0x3,%rax * 2a: 42 80 3c 28 00 cmpb $0x0,(%rax,%r13,1) <-- trapping instruction 2f: 74 08 je 0x39 31: 48 89 df mov %rbx,%rdi 34: e8 ff 60 01 00 call 0x16138 39: 48 8b 1b mov (%rbx),%rbx 3c: be .byte 0xbe 3d: 00 00 add %al,(%rax)