general protection fault, probably for non-canonical address 0xe00eeaee003c4ef1: 0000 [#1] PREEMPT SMP KASAN KASAN: maybe wild-memory-access in range [0x0077777001e27788-0x0077777001e2778f] CPU: 1 PID: 14400 Comm: syz-executor.4 Not tainted 5.16.0-rc2-next-20211125-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:266 [inline] RIP: 0010:PageSwapCache include/linux/page-flags.h:562 [inline] RIP: 0010:free_swap_cache+0x23/0x3b0 mm/swap_state.c:291 Code: 1f 84 00 00 00 00 00 41 55 41 54 55 48 89 fd 53 4c 8d 6d 08 e8 1e aa bd ff 4c 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 1c 03 00 00 4c 8b 65 08 31 ff 4c 89 e3 83 e3 01 RSP: 0018:ffffc90010b676c0 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: ffff888000104160 RCX: 0000000000000000 RDX: 000eeeee003c4ef1 RSI: ffffffff81ba3ac2 RDI: 0077777001e27780 RBP: 0077777001e27780 R08: 00000000000001fe R09: 0000000000000000 R10: ffffffff81ba4212 R11: 0000000000000000 R12: 00000000000001fe R13: 0077777001e27788 R14: dffffc0000000000 R15: ffffc90010b67a68 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00005555556da848 CR3: 0000000079119000 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:1418 [inline] zap_pmd_range mm/memory.c:1467 [inline] zap_pud_range mm/memory.c:1496 [inline] zap_p4d_range mm/memory.c:1517 [inline] unmap_page_range+0x1ea3/0x32e0 mm/memory.c:1538 unmap_single_vma+0x198/0x310 mm/memory.c:1583 unmap_vmas+0x16b/0x2f0 mm/memory.c:1615 exit_mmap+0x1d0/0x630 mm/mmap.c:3176 __mmput+0x122/0x4b0 kernel/fork.c:1115 mmput+0x56/0x60 kernel/fork.c:1136 exit_mm kernel/exit.c:507 [inline] do_exit+0xb27/0x2c20 kernel/exit.c:819 do_group_exit+0x125/0x310 kernel/exit.c:929 get_signal+0x34c/0x28b0 kernel/signal.c:2859 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:868 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:0x7fe250c48ae9 Code: Unable to access opcode bytes at RIP 0x7fe250c48abf. RSP: 002b:00007fe24e19d218 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca RAX: 0000000000000000 RBX: 00007fe250d5c028 RCX: 00007fe250c48ae9 RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fe250d5c028 RBP: 00007fe250d5c020 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007fe250d5c02c R13: 00007ffdb7c672ef R14: 00007fe24e19d300 R15: 0000000000022000 Modules linked in: ---[ end trace cb8fcec98a975d8a ]--- RIP: 0010:_compound_head include/linux/page-flags.h:266 [inline] RIP: 0010:PageSwapCache include/linux/page-flags.h:562 [inline] RIP: 0010:free_swap_cache+0x23/0x3b0 mm/swap_state.c:291 Code: 1f 84 00 00 00 00 00 41 55 41 54 55 48 89 fd 53 4c 8d 6d 08 e8 1e aa bd ff 4c 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 1c 03 00 00 4c 8b 65 08 31 ff 4c 89 e3 83 e3 01 RSP: 0018:ffffc90010b676c0 EFLAGS: 00010202 RAX: dffffc0000000000 RBX: ffff888000104160 RCX: 0000000000000000 RDX: 000eeeee003c4ef1 RSI: ffffffff81ba3ac2 RDI: 0077777001e27780 RBP: 0077777001e27780 R08: 00000000000001fe R09: 0000000000000000 R10: ffffffff81ba4212 R11: 0000000000000000 R12: 00000000000001fe R13: 0077777001e27788 R14: dffffc0000000000 R15: ffffc90010b67a68 FS: 0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 0000000079119000 CR4: 00000000003526e0 ---------------- Code disassembly (best guess), 1 bytes skipped: 0: 84 00 test %al,(%rax) 2: 00 00 add %al,(%rax) 4: 00 00 add %al,(%rax) 6: 41 55 push %r13 8: 41 54 push %r12 a: 55 push %rbp b: 48 89 fd mov %rdi,%rbp e: 53 push %rbx f: 4c 8d 6d 08 lea 0x8(%rbp),%r13 13: e8 1e aa bd ff callq 0xffbdaa36 18: 4c 89 ea mov %r13,%rdx 1b: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 22: fc ff df 25: 48 c1 ea 03 shr $0x3,%rdx * 29: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) <-- trapping instruction 2d: 0f 85 1c 03 00 00 jne 0x34f 33: 4c 8b 65 08 mov 0x8(%rbp),%r12 37: 31 ff xor %edi,%edi 39: 4c 89 e3 mov %r12,%rbx 3c: 83 e3 01 and $0x1,%ebx