syzbot
general protection fault in vgem_fence_attach_ioctl
Status:
upstream: reported syz repro on 2020/11/03 17:27
Reported-by: syzbot+1b5240d1111ab4dadb95@syzkaller.appspotmail.com
First crash: 2118d, last: 1393d
▶
▼
Fix bisection attempts (22)
Sample crash report:
Bluetooth: hci0 command 0x0419 tx timeout
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 0 PID: 20750 Comm: syz-executor.0 Not tainted 4.14.277-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff888097b54580 task.stack: ffff88809a398000
RIP: 0010:vgem_fence_attach_ioctl+0x2f8/0x6e0 drivers/gpu/drm/vgem/vgem_fence.c:184
RSP: 0018:ffff88809a39fbb0 EFLAGS: 00010202
RAX: dffffc0000000000 RBX: ffff88809a39fcd0 RCX: 0000000000000000
RDX: 000000000000001c RSI: 0000000000000001 RDI: 00000000000000e0
RBP: ffff8880a9022d00 R08: ffffffff8bfb9d88 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88809e5e7580
R13: 1ffff11013473f78 R14: ffff88809a39fcd4 R15: 0000000000000000
FS: 00007feac2dd1700(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007feac2d8f718 CR3: 00000000a8974000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
drm_ioctl_kernel+0x14c/0x200 drivers/gpu/drm/drm_ioctl.c:737
drm_ioctl+0x42e/0x890 drivers/gpu/drm/drm_ioctl.c:840
vfs_ioctl fs/ioctl.c:46 [inline]
file_ioctl fs/ioctl.c:500 [inline]
do_vfs_ioctl+0x75a/0xff0 fs/ioctl.c:684
SYSC_ioctl fs/ioctl.c:701 [inline]
SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x46/0xbb
RIP: 0033:0x7feac365c0e9
RSP: 002b:00007feac2dd1168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007feac376ef60 RCX: 00007feac365c0e9
RDX: 0000000020000040 RSI: 00000000c0106441 RDI: 0000000000000003
RBP: 00007feac36b608d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff55231fcf R14: 00007feac2dd1300 R15: 0000000000022000
Code: ea 03 80 3c 02 00 0f 85 a2 03 00 00 4c 8b bd 18 01 00 00 48 b8 00 00 00 00 00 fc ff df 49 8d bf e0 00 00 00 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 86 03 00 00 4c 89 f2 4d 8b bf e0 00 00 00 48
RIP: vgem_fence_attach_ioctl+0x2f8/0x6e0 drivers/gpu/drm/vgem/vgem_fence.c:184 RSP: ffff88809a39fbb0
---[ end trace 819c1f5a16448241 ]---
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 03 80 3c 02 00 0f add 0xf00023c(%rax),%eax
6: 85 a2 03 00 00 4c test %esp,0x4c000003(%rdx)
c: 8b bd 18 01 00 00 mov 0x118(%rbp),%edi
12: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
19: fc ff df
1c: 49 8d bf e0 00 00 00 lea 0xe0(%r15),%rdi
23: 48 89 fa mov %rdi,%rdx
26: 48 c1 ea 03 shr $0x3,%rdx
* 2a: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) <-- trapping instruction
2e: 0f 85 86 03 00 00 jne 0x3ba
34: 4c 89 f2 mov %r14,%rdx
37: 4d 8b bf e0 00 00 00 mov 0xe0(%r15),%r15
3e: 48 rex.W
* Struck through repros no longer work on HEAD.