general protection fault, probably for non-canonical address 0xdffffc000013a4c9: 0000 [#1] PREEMPT SMP KASAN KASAN: probably user-memory-access in range [0x00000000009d2648-0x00000000009d264f] CPU: 1 PID: 13564 Comm: syz-executor.3 Not tainted 5.15.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:_compound_head include/linux/page-flags.h:187 [inline] RIP: 0010:PageSwapCache include/linux/page-flags.h:404 [inline] RIP: 0010:free_swap_cache+0x28/0x310 mm/swap_state.c:291 Code: 00 00 41 57 41 56 41 55 41 54 49 89 fc 55 4d 8d 6c 24 08 53 e8 f9 5c c0 ff 4c 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 8f 02 00 00 49 8b 6c 24 08 31 ff 48 89 eb 83 e3 RSP: 0018:ffffc9000cccf6f8 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: ffff888000112128 RCX: 0000000000000000 RDX: 000000000013a4c9 RSI: ffffffff81b67b27 RDI: 00000000009d2640 RBP: 0000000000000023 R08: 00000000000001fe R09: 0000000000000000 R10: ffffffff81b680f2 R11: 0000000000000000 R12: 00000000009d2640 R13: 00000000009d2648 R14: dffffc0000000000 R15: ffffc9000cccfab0 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2c02a000 CR3: 00000000894d6000 CR4: 00000000003526e0 Call Trace: free_pages_and_swap_cache+0x58/0x90 mm/swap_state.c:319 tlb_batch_pages_flush mm/mmu_gather.c:49 [inline] tlb_flush_mmu_free mm/mmu_gather.c:242 [inline] tlb_flush_mmu+0xe9/0x6b0 mm/mmu_gather.c:249 zap_pte_range mm/memory.c:1432 [inline] zap_pmd_range mm/memory.c:1481 [inline] zap_pud_range mm/memory.c:1510 [inline] zap_p4d_range mm/memory.c:1531 [inline] unmap_page_range+0x1c58/0x2a10 mm/memory.c:1552 unmap_single_vma+0x198/0x310 mm/memory.c:1597 unmap_vmas+0x16d/0x2f0 mm/memory.c:1629 exit_mmap+0x1d0/0x630 mm/mmap.c:3171 __mmput+0x122/0x4b0 kernel/fork.c:1115 mmput+0x58/0x60 kernel/fork.c:1136 exit_mm kernel/exit.c:501 [inline] do_exit+0xabc/0x2a30 kernel/exit.c:812 do_group_exit+0x125/0x310 kernel/exit.c:922 get_signal+0x47f/0x2160 kernel/signal.c:2868 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865 handle_signal_work kernel/entry/common.c:148 [inline] exit_to_user_mode_loop kernel/entry/common.c:172 [inline] exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:300 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f1033a7aa39 Code: Unable to access opcode bytes at RIP 0x7f1033a7aa0f. RSP: 002b:00007f1030ff0218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: fffffffffffffe00 RBX: 00007f1033b7df68 RCX: 00007f1033a7aa39 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007f1033b7df68 RBP: 00007f1033b7df60 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007f1033b7df6c R13: 00007f10340b1b2f R14: 00007f1030ff0300 R15: 0000000000022000 Modules linked in: ---[ end trace f66a07ef667bfbb2 ]--- RIP: 0010:_compound_head include/linux/page-flags.h:187 [inline] RIP: 0010:PageSwapCache include/linux/page-flags.h:404 [inline] RIP: 0010:free_swap_cache+0x28/0x310 mm/swap_state.c:291 Code: 00 00 41 57 41 56 41 55 41 54 49 89 fc 55 4d 8d 6c 24 08 53 e8 f9 5c c0 ff 4c 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 8f 02 00 00 49 8b 6c 24 08 31 ff 48 89 eb 83 e3 RSP: 0018:ffffc9000cccf6f8 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: ffff888000112128 RCX: 0000000000000000 RDX: 000000000013a4c9 RSI: ffffffff81b67b27 RDI: 00000000009d2640 RBP: 0000000000000023 R08: 00000000000001fe R09: 0000000000000000 R10: ffffffff81b680f2 R11: 0000000000000000 R12: 00000000009d2640 R13: 00000000009d2648 R14: dffffc0000000000 R15: ffffc9000cccfab0 FS: 0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f31a2e28000 CR3: 000000006fd46000 CR4: 00000000003526f0 ---------------- Code disassembly (best guess): 0: 00 00 add %al,(%rax) 2: 41 57 push %r15 4: 41 56 push %r14 6: 41 55 push %r13 8: 41 54 push %r12 a: 49 89 fc mov %rdi,%r12 d: 55 push %rbp e: 4d 8d 6c 24 08 lea 0x8(%r12),%r13 13: 53 push %rbx 14: e8 f9 5c c0 ff callq 0xffc05d12 19: 4c 89 ea mov %r13,%rdx 1c: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 23: fc ff df 26: 48 c1 ea 03 shr $0x3,%rdx * 2a: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) <-- trapping instruction 2e: 0f 85 8f 02 00 00 jne 0x2c3 34: 49 8b 6c 24 08 mov 0x8(%r12),%rbp 39: 31 ff xor %edi,%edi 3b: 48 89 eb mov %rbp,%rbx 3e: 83 .byte 0x83 3f: e3 .byte 0xe3