syzbot


general protection fault in drm_gem_object_handle_put_unlocked

Status: upstream: reported on 2022/08/18 09:42
Reported-by: syzbot+87b9744712425638eaae@syzkaller.appspotmail.com
First crash: 107d, last: 43d

Sample crash report:
general protection fault, probably for non-canonical address 0xfb87fc8f600010e4: 0000 [#1] PREEMPT SMP KASAN
KASAN: maybe wild-memory-access in range [0xdc40047b00008720-0xdc40047b00008727]
CPU: 1 PID: 31414 Comm: syz-executor.4 Not tainted 6.0.0-syzkaller-09589-g55be6084c8e0 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022
RIP: 0010:__mutex_lock_common kernel/locking/mutex.c:582 [inline]
RIP: 0010:__mutex_lock+0xec/0x1350 kernel/locking/mutex.c:747
Code: d0 7c 08 84 d2 0f 85 58 0f 00 00 8b 15 6d e7 98 07 85 d2 75 29 48 8d 7d 60 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 40 0f 00 00 48 3b 6d 60 0f 85 a5 08 00 00 bf 01
RSP: 0018:ffffc90005107af8 EFLAGS: 00010a06

RAX: dffffc0000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 1b88008f600010e4 RSI: 00000000ffffffff RDI: dc40047b00008720
RBP: dc40047b000086c0 R08: ffffffff84707f10 R09: 0000000000000000
R10: 00000000ffff8880 R11: 000000000008c07d R12: 0000000000000000
R13: dffffc0000000000 R14: 00000000ffff8880 R15: ffff8880288d0004
FS:  000055555674a400(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b2f223000 CR3: 000000001dd24000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000004800 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 drm_gem_object_handle_put_unlocked+0x90/0x390 drivers/gpu/drm/drm_gem.c:217
 drm_gem_object_release_handle+0x93/0xb0 drivers/gpu/drm/drm_gem.c:245
 idr_for_each+0x113/0x220 lib/idr.c:208
 drm_gem_release+0x22/0x30 drivers/gpu/drm/drm_gem.c:918
 drm_file_free+0x7bb/0xb90 drivers/gpu/drm/drm_file.c:276
 drm_release+0x1a6/0x4d0 drivers/gpu/drm/drm_file.c:490
 __fput+0x27c/0xa90 fs/file_table.c:320
 task_work_run+0xdd/0x1a0 kernel/task_work.c:177
 resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:169 [inline]
 exit_to_user_mode_prepare+0x23c/0x250 kernel/entry/common.c:201
 __syscall_exit_to_user_mode_work kernel/entry/common.c:283 [inline]
 syscall_exit_to_user_mode+0x19/0x50 kernel/entry/common.c:294
 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f462203d37b
Code: 0f 05 48 3d 00 f0 ff ff 77 45 c3 0f 1f 40 00 48 83 ec 18 89 7c 24 0c e8 63 fc ff ff 8b 7c 24 0c 41 89 c0 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 44 89 c7 89 44 24 0c e8 a1 fc ff ff 8b 44
RSP: 002b:00007ffe7dd6d670 EFLAGS: 00000293
 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 0000000000000004 RCX: 00007f462203d37b
RDX: 00007f46221b0288 RSI: ffffffffffffffff RDI: 0000000000000003
RBP: 00007f46221ad980 R08: 0000000000000000 R09: 00007f46221b0290
R10: 00007ffe7dd6d770 R11: 0000000000000293 R12: 0000000000114656
R13: 00007ffe7dd6d770 R14: 00007f46221abf80 R15: 0000000000000032
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__mutex_lock_common kernel/locking/mutex.c:582 [inline]
RIP: 0010:__mutex_lock+0xec/0x1350 kernel/locking/mutex.c:747
Code: d0 7c 08 84 d2 0f 85 58 0f 00 00 8b 15 6d e7 98 07 85 d2 75 29 48 8d 7d 60 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 <80> 3c 02 00 0f 85 40 0f 00 00 48 3b 6d 60 0f 85 a5 08 00 00 bf 01
RSP: 0018:ffffc90005107af8 EFLAGS: 00010a06

----------------
Code disassembly (best guess):
   0:	d0 7c 08 84          	sarb   -0x7c(%rax,%rcx,1)
   4:	d2 0f                	rorb   %cl,(%rdi)
   6:	85 58 0f             	test   %ebx,0xf(%rax)
   9:	00 00                	add    %al,(%rax)
   b:	8b 15 6d e7 98 07    	mov    0x798e76d(%rip),%edx        # 0x798e77e
  11:	85 d2                	test   %edx,%edx
  13:	75 29                	jne    0x3e
  15:	48 8d 7d 60          	lea    0x60(%rbp),%rdi
  19:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  20:	fc ff df
  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 40 0f 00 00    	jne    0xf74
  34:	48 3b 6d 60          	cmp    0x60(%rbp),%rbp
  38:	0f 85 a5 08 00 00    	jne    0x8e3
  3e:	bf                   	.byte 0xbf
  3f:	01                   	.byte 0x1

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-kasan-gce-selinux-root 2022/10/17 07:40 upstream 55be6084c8e0 67cb024c .config log report info general protection fault in drm_gem_object_handle_put_unlocked
ci-upstream-kasan-gce-root 2022/08/14 08:40 upstream 7ebfc85e2cd7 8dfcaa3d .config log report info general protection fault in drm_gem_object_handle_put_unlocked
* Struck through repros no longer work on HEAD.