Oops: general protection fault, probably for non-canonical address 0xdffffc0000000024: 0000 [#1] PREEMPT SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000120-0x0000000000000127] CPU: 0 UID: 0 PID: 8325 Comm: syz.2.443 Not tainted 6.14.0-rc2-next-20250214-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 RIP: 0010:shmem_mapping+0x25/0x50 mm/shmem.c:280 Code: 90 90 90 90 90 f3 0f 1e fa 53 48 89 fb e8 f3 d2 bc ff 48 81 c3 20 01 00 00 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 48 89 df e8 1d 53 24 00 48 c7 c0 00 87 34 8c 48 RSP: 0018:ffffc90004a2edd0 EFLAGS: 00010006 RAX: 0000000000000024 RBX: 0000000000000120 RCX: dffffc0000000000 RDX: ffffc9000c639000 RSI: 0000000000001502 RDI: 0000000000001503 RBP: 0000000000000000 R08: ffffffff822ee60f R09: 1ffffd4000273008 R10: dffffc0000000000 R11: fffff94000273009 R12: ffffea0001398000 R13: ffffea0001398080 R14: ffffea0001398018 R15: ffffea0001398018 FS: 00007fdfb1ca76c0(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000400000000000 CR3: 00000000671c4000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: __split_unmapped_folio+0x22e1/0x3db0 mm/huge_memory.c:3576 __folio_split+0x1267/0x16d0 mm/huge_memory.c:3860 try_folio_split include/linux/huge_mm.h:374 [inline] truncate_inode_partial_folio+0x55d/0xdc0 mm/truncate.c:230 shmem_undo_range+0x82f/0x1820 mm/shmem.c:1143 shmem_truncate_range mm/shmem.c:1237 [inline] shmem_fallocate+0x431/0xf20 mm/shmem.c:3663 vfs_fallocate+0x623/0x7a0 fs/open.c:338 madvise_remove mm/madvise.c:1034 [inline] madvise_vma_behavior mm/madvise.c:1263 [inline] madvise_walk_vmas mm/madvise.c:1505 [inline] madvise_do_behavior+0x1ecf/0x3ba0 mm/madvise.c:1657 do_madvise mm/madvise.c:1755 [inline] __do_sys_madvise mm/madvise.c:1763 [inline] __se_sys_madvise mm/madvise.c:1761 [inline] __x64_sys_madvise+0x11b/0x140 mm/madvise.c:1761 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fdfb0d8cde9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fdfb1ca7038 EFLAGS: 00000246 ORIG_RAX: 000000000000001c RAX: ffffffffffffffda RBX: 00007fdfb0fa5fa0 RCX: 00007fdfb0d8cde9 RDX: 0000000000000009 RSI: 0000000000600003 RDI: 0000400000000000 RBP: 00007fdfb0e0e2a0 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007fdfb0fa5fa0 R15: 00007ffd309596a8 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:shmem_mapping+0x25/0x50 mm/shmem.c:280 Code: 90 90 90 90 90 f3 0f 1e fa 53 48 89 fb e8 f3 d2 bc ff 48 81 c3 20 01 00 00 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df <80> 3c 08 00 74 08 48 89 df e8 1d 53 24 00 48 c7 c0 00 87 34 8c 48 RSP: 0018:ffffc90004a2edd0 EFLAGS: 00010006 RAX: 0000000000000024 RBX: 0000000000000120 RCX: dffffc0000000000 RDX: ffffc9000c639000 RSI: 0000000000001502 RDI: 0000000000001503 RBP: 0000000000000000 R08: ffffffff822ee60f R09: 1ffffd4000273008 R10: dffffc0000000000 R11: fffff94000273009 R12: ffffea0001398000 R13: ffffea0001398080 R14: ffffea0001398018 R15: ffffea0001398018 FS: 00007fdfb1ca76c0(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000400000000000 CR3: 00000000671c4000 CR4: 00000000003526f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 90 nop 1: 90 nop 2: 90 nop 3: 90 nop 4: 90 nop 5: f3 0f 1e fa endbr64 9: 53 push %rbx a: 48 89 fb mov %rdi,%rbx d: e8 f3 d2 bc ff call 0xffbcd305 12: 48 81 c3 20 01 00 00 add $0x120,%rbx 19: 48 89 d8 mov %rbx,%rax 1c: 48 c1 e8 03 shr $0x3,%rax 20: 48 b9 00 00 00 00 00 movabs $0xdffffc0000000000,%rcx 27: fc ff df * 2a: 80 3c 08 00 cmpb $0x0,(%rax,%rcx,1) <-- trapping instruction 2e: 74 08 je 0x38 30: 48 89 df mov %rbx,%rdi 33: e8 1d 53 24 00 call 0x245355 38: 48 c7 c0 00 87 34 8c mov $0xffffffff8c348700,%rax 3f: 48 rex.W