general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 PID: 18789 Comm: syz-executor.5 Not tainted 6.0.0-rc6-next-20220923-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 RIP: 0010:PagePoisoned include/linux/page-flags.h:304 [inline] RIP: 0010:PageHead include/linux/page-flags.h:787 [inline] RIP: 0010:PageHeadHuge+0x1d/0x200 mm/hugetlb.c:1892 Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 55 48 89 fd 53 e8 64 af b9 ff 48 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 a2 01 00 00 48 8b 5d 00 48 c7 c7 ff ff ff ff 48 RSP: 0018:ffffc9000e517610 EFLAGS: 00010246 RAX: dffffc0000000000 RBX: ffffc9000e5177f8 RCX: ffffc90004314000 RDX: 0000000000000000 RSI: ffffffff81c2e49c RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000008c07e R12: ffffc9000e517808 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000924 FS: 00007fca4e25d700(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020924000 CR3: 000000007d225000 CR4: 00000000003506e0 Call Trace: folio_test_hugetlb include/linux/page-flags.h:831 [inline] folio_file_page include/linux/pagemap.h:683 [inline] shmem_fault+0x27c/0x8a0 mm/shmem.c:2130 __do_fault+0x107/0x600 mm/memory.c:4191 do_read_fault mm/memory.c:4542 [inline] do_fault mm/memory.c:4671 [inline] handle_pte_fault mm/memory.c:4943 [inline] __handle_mm_fault+0x2184/0x3a40 mm/memory.c:5085 handle_mm_fault+0x1c8/0x780 mm/memory.c:5206 do_user_addr_fault+0x475/0x1210 arch/x86/mm/fault.c:1428 handle_page_fault arch/x86/mm/fault.c:1519 [inline] exc_page_fault+0x94/0x170 arch/x86/mm/fault.c:1575 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:570 RIP: 0010:copy_user_enhanced_fast_string+0xa/0x40 arch/x86/lib/copy_user_64.S:166 Code: ff c9 75 f2 89 d1 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 31 c0 0f 01 ca c3 8d 0c ca 89 ca eb 20 0f 01 cb 83 fa 40 72 38 89 d1 a4 31 c0 0f 01 ca c3 89 ca eb 0a 66 2e 0f 1f 84 00 00 00 00 00 RSP: 0018:ffffc9000e517a78 EFLAGS: 00050206 RAX: 0000000000000001 RBX: 0000000000001000 RCX: 0000000000001000 RDX: 0000000000001000 RSI: 0000000020924000 RDI: ffff888090135000 RBP: ffff888090135000 R08: 0000000000000001 R09: ffff888090135fff R10: ffffed1012026bff R11: 0000000000000000 R12: 00007fffffffe000 R13: 0000000020924000 R14: 00000000000004bc R15: ffff88807cc33c38 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline] raw_copy_from_user arch/x86/include/asm/uaccess_64.h:52 [inline] _copy_from_user+0x137/0x170 lib/usercopy.c:16 copy_from_user include/linux/uaccess.h:161 [inline] shmem_mfill_atomic_pte+0xb37/0x1040 mm/shmem.c:2424 mfill_atomic_pte mm/userfaultfd.c:505 [inline] __mcopy_atomic mm/userfaultfd.c:639 [inline] mcopy_atomic+0x98c/0x1900 mm/userfaultfd.c:690 userfaultfd_copy fs/userfaultfd.c:1736 [inline] userfaultfd_ioctl+0x7a3/0x4200 fs/userfaultfd.c:2011 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:870 [inline] __se_sys_ioctl fs/ioctl.c:856 [inline] __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x63/0xcd RIP: 0033:0x7fca4d08a5a9 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 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fca4e25d168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fca4d1abf80 RCX: 00007fca4d08a5a9 RDX: 0000000020000180 RSI: 00000000c028aa03 RDI: 0000000000000003 RBP: 00007fca4d0e5580 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fff313d75df R14: 00007fca4e25d300 R15: 0000000000022000 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:PagePoisoned include/linux/page-flags.h:304 [inline] RIP: 0010:PageHead include/linux/page-flags.h:787 [inline] RIP: 0010:PageHeadHuge+0x1d/0x200 mm/hugetlb.c:1892 Code: ff 66 66 2e 0f 1f 84 00 00 00 00 00 90 41 54 55 48 89 fd 53 e8 64 af b9 ff 48 89 ea 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 a2 01 00 00 48 8b 5d 00 48 c7 c7 ff ff ff ff 48 RSP: 0018:ffffc9000e517610 EFLAGS: 00010246 RAX: dffffc0000000000 RBX: ffffc9000e5177f8 RCX: ffffc90004314000 RDX: 0000000000000000 RSI: ffffffff81c2e49c RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000008c07e R12: ffffc9000e517808 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000924 FS: 00007fca4e25d700(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b2f022000 CR3: 000000007d225000 CR4: 00000000003506f0 ---------------- Code disassembly (best guess): 0: ff 66 66 jmpq *0x66(%rsi) 3: 2e 0f 1f 84 00 00 00 nopl %cs:0x0(%rax,%rax,1) a: 00 00 c: 90 nop d: 41 54 push %r12 f: 55 push %rbp 10: 48 89 fd mov %rdi,%rbp 13: 53 push %rbx 14: e8 64 af b9 ff callq 0xffb9af7d 19: 48 89 ea mov %rbp,%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 a2 01 00 00 jne 0x1d6 34: 48 8b 5d 00 mov 0x0(%rbp),%rbx 38: 48 c7 c7 ff ff ff ff mov $0xffffffffffffffff,%rdi 3f: 48 rex.W