BUG: unable to handle page fault for address: ffffc90007196000 #PF: supervisor write access in kernel mode #PF: error_code(0x0002) - not-present page PGD 1bc00067 P4D 1bc00067 PUD 1d293067 PMD 22034067 PTE 0 Oops: Oops: 0002 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 6226 Comm: syz.2.83 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 RIP: 0010:rep_movs arch/x86/lib/iomem.c:13 [inline] RIP: 0010:string_memcpy_toio arch/x86/lib/iomem.c:64 [inline] RIP: 0010:memcpy_toio+0x87/0xe0 arch/x86/lib/iomem.c:110 Code: b8 fc 49 89 dd 31 ff 41 83 e5 02 4c 89 ee e8 f0 28 b8 fc 4d 85 ed 75 33 e8 46 2e b8 fc 48 89 e9 48 89 df 4c 89 e6 48 c1 e9 02 a5 40 f6 c5 02 74 02 66 a5 40 f6 c5 01 74 01 a4 e8 23 2e b8 fc RSP: 0018:ffffc9000782f5c0 EFLAGS: 00010206 RAX: 0000000000000000 RBX: ffffc90007195d20 RCX: 00000000000000d8 RDX: ffff88802232ca80 RSI: ffffc90004051f60 RDI: ffffc90007196000 RBP: 0000000000000640 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000000001e R12: ffffc90004051c80 R13: 0000000000000000 R14: ffffc90007195d20 R15: 0000000000000640 FS: 0000000000000000(0000) GS:ffff888096bdf000(0063) knlGS:0000000056b41480 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: ffffc90007196000 CR3: 0000000070295000 CR4: 0000000000352ef0 Call Trace: iosys_map_memcpy_to include/linux/iosys-map.h:285 [inline] drm_fb_memcpy+0x459/0x620 drivers/gpu/drm/drm_format_helper.c:442 cirrus_primary_plane_helper_atomic_update+0xb1d/0xfe0 drivers/gpu/drm/tiny/cirrus-qemu.c:358 drm_atomic_helper_commit_planes+0x497/0xf10 drivers/gpu/drm/drm_atomic_helper.c:3038 drm_atomic_helper_commit_tail+0x7f/0x130 drivers/gpu/drm/drm_atomic_helper.c:1989 commit_tail+0x338/0x430 drivers/gpu/drm/drm_atomic_helper.c:2074 drm_atomic_helper_commit+0x303/0x380 drivers/gpu/drm/drm_atomic_helper.c:2312 drm_atomic_commit+0x230/0x300 drivers/gpu/drm/drm_atomic.c:1789 drm_client_modeset_commit_atomic+0x6a6/0x7e0 drivers/gpu/drm/drm_client_modeset.c:1104 drm_client_modeset_commit_locked+0x14d/0x580 drivers/gpu/drm/drm_client_modeset.c:1207 drm_client_modeset_commit+0x4f/0x80 drivers/gpu/drm/drm_client_modeset.c:1233 __drm_fb_helper_restore_fbdev_mode_unlocked.part.0+0x137/0x160 drivers/gpu/drm/drm_fb_helper.c:138 __drm_fb_helper_restore_fbdev_mode_unlocked drivers/gpu/drm/drm_fb_helper.c:126 [inline] drm_fb_helper_restore_fbdev_mode_unlocked+0x93/0xc0 drivers/gpu/drm/drm_fb_helper.c:169 drm_fbdev_client_restore+0x1b/0x30 drivers/gpu/drm/clients/drm_fbdev_client.c:45 drm_client_dev_restore+0x205/0x2a0 drivers/gpu/drm/drm_client_event.c:118 drm_lastclose drivers/gpu/drm/drm_file.c:408 [inline] drm_release+0x2c6/0x360 drivers/gpu/drm/drm_file.c:441 __fput+0x3ff/0xb50 fs/file_table.c:512 task_work_run+0x150/0x240 kernel/task_work.c:233 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] __exit_to_user_mode_loop kernel/entry/common.c:70 [inline] exit_to_user_mode_loop+0x1d8/0x6f0 kernel/entry/common.c:101 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline] syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline] __do_fast_syscall_32+0x701/0x970 arch/x86/entry/syscall_32.c:310 do_fast_syscall_32+0x32/0x70 arch/x86/entry/syscall_32.c:332 entry_SYSENTER_compat_after_hwframe+0x84/0x8e RIP: 0023:0xf7f15fec Code: Unable to access opcode bytes at 0xf7f15fc2. RSP: 002b:00000000ffd3840c EFLAGS: 00000202 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 0000000000000003 RCX: 000000000000001e RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 Modules linked in: CR2: ffffc90007196000 ---[ end trace 0000000000000000 ]--- RIP: 0010:rep_movs arch/x86/lib/iomem.c:13 [inline] RIP: 0010:string_memcpy_toio arch/x86/lib/iomem.c:64 [inline] RIP: 0010:memcpy_toio+0x87/0xe0 arch/x86/lib/iomem.c:110 Code: b8 fc 49 89 dd 31 ff 41 83 e5 02 4c 89 ee e8 f0 28 b8 fc 4d 85 ed 75 33 e8 46 2e b8 fc 48 89 e9 48 89 df 4c 89 e6 48 c1 e9 02 a5 40 f6 c5 02 74 02 66 a5 40 f6 c5 01 74 01 a4 e8 23 2e b8 fc RSP: 0018:ffffc9000782f5c0 EFLAGS: 00010206 RAX: 0000000000000000 RBX: ffffc90007195d20 RCX: 00000000000000d8 RDX: ffff88802232ca80 RSI: ffffc90004051f60 RDI: ffffc90007196000 RBP: 0000000000000640 R08: 0000000000000007 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000000001e R12: ffffc90004051c80 R13: 0000000000000000 R14: ffffc90007195d20 R15: 0000000000000640 FS: 0000000000000000(0000) GS:ffff888096bdf000(0063) knlGS:0000000056b41480 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: 00000000f7f16000 CR3: 0000000070295000 CR4: 0000000000352ef0 ---------------- Code disassembly (best guess): 0: b8 fc 49 89 dd mov $0xdd8949fc,%eax 5: 31 ff xor %edi,%edi 7: 41 83 e5 02 and $0x2,%r13d b: 4c 89 ee mov %r13,%rsi e: e8 f0 28 b8 fc call 0xfcb82903 13: 4d 85 ed test %r13,%r13 16: 75 33 jne 0x4b 18: e8 46 2e b8 fc call 0xfcb82e63 1d: 48 89 e9 mov %rbp,%rcx 20: 48 89 df mov %rbx,%rdi 23: 4c 89 e6 mov %r12,%rsi 26: 48 c1 e9 02 shr $0x2,%rcx * 2a: f3 a5 rep movsl %ds:(%rsi),%es:(%rdi) <-- trapping instruction 2c: 40 f6 c5 02 test $0x2,%bpl 30: 74 02 je 0x34 32: 66 a5 movsw %ds:(%rsi),%es:(%rdi) 34: 40 f6 c5 01 test $0x1,%bpl 38: 74 01 je 0x3b 3a: a4 movsb %ds:(%rsi),%es:(%rdi) 3b: e8 23 2e b8 fc call 0xfcb82e63