syzbot


general protection fault in qp_release_pages

Status: fixed on 2020/12/23 11:20
Reported-by: syzbot+957228ff3b8c86c3839f@syzkaller.appspotmail.com
Fix commit: 2b8c7395d275 VMCI: check return value of get_user_pages_fast() for errors
First crash: 837d, last: 807d

Fix bisection: fixed by (bisect log) :
commit 2b8c7395d275caa8bd2bcda282ba889c727095dc
Author: Alex Dewar <alex.dewar90@gmail.com>
Date: Tue Aug 25 16:45:18 2020 +0000

  VMCI: check return value of get_user_pages_fast() for errors

similar bugs (2):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 general protection fault in qp_release_pages C done 4 843d 845d 1/1 fixed on 2020/11/17 09:23
upstream general protection fault in qp_release_pages C done 2 848d 848d 17/24 fixed on 2020/11/16 12:12

Sample crash report:
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: 7978 Comm: syz-executor906 Not tainted 4.14.202-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
task: ffff88809554e440 task.stack: ffff88809a4f8000
RIP: 0010:__read_once_size include/linux/compiler.h:183 [inline]
RIP: 0010:compound_head include/linux/page-flags.h:147 [inline]
RIP: 0010:put_page include/linux/mm.h:860 [inline]
RIP: 0010:qp_release_pages+0x4f/0x280 drivers/misc/vmw_vmci/vmci_queue_pair.c:737
RSP: 0018:ffff88809a4ff888 EFLAGS: 00010202
RAX: 0000000000000004 RBX: ffff8880ac00b100 RCX: 1ffff11012aa9d9e
RDX: 0000000000000000 RSI: fffffffffffffff2 RDI: 0000000000000020
RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000001
R10: 0000000000000000 R11: ffff88809554e440 R12: dffffc0000000000
R13: 0000000000000000 R14: 0000000000000000 R15: fffffffffffffff2
FS:  0000000000c69880(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f34541f0018 CR3: 00000000aece2000 CR4: 00000000001406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 qp_host_get_user_memory+0x235/0x470 drivers/misc/vmw_vmci/vmci_queue_pair.c:761
 qp_host_register_user_memory drivers/misc/vmw_vmci/vmci_queue_pair.c:804 [inline]
 qp_broker_create drivers/misc/vmw_vmci/vmci_queue_pair.c:1481 [inline]
 qp_broker_alloc+0xfee/0x19a0 drivers/misc/vmw_vmci/vmci_queue_pair.c:1835
 vmci_qp_broker_alloc+0x48/0x60 drivers/misc/vmw_vmci/vmci_queue_pair.c:2028
 vmci_host_do_alloc_queuepair.constprop.0+0x16b/0x350 drivers/misc/vmw_vmci/vmci_host.c:495
 vmci_host_unlocked_ioctl+0xd08/0x1980 drivers/misc/vmw_vmci/vmci_host.c:944
 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:0x4402f9
RSP: 002b:00007ffcdcf6be68 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 00000000004402f9
RDX: 0000000020000000 RSI: 00000000000007a8 RDI: 0000000000000003
RBP: 00000000006ca018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000246 R12: 0000000000401b00
R13: 0000000000401b90 R14: 0000000000000000 R15: 0000000000000000
Code: 89 3c 24 48 89 74 24 08 e8 6f 23 bc fd 4d 85 ff 0f 85 b1 00 00 00 e9 c6 01 00 00 e8 5c 23 bc fd 48 8d 7d 20 48 89 f8 48 c1 e8 03 <42> 80 3c 20 00 0f 85 be 01 00 00 4c 8b 7d 20 41 f6 c7 01 0f 85 
RIP: __read_once_size include/linux/compiler.h:183 [inline] RSP: ffff88809a4ff888
RIP: compound_head include/linux/page-flags.h:147 [inline] RSP: ffff88809a4ff888
RIP: put_page include/linux/mm.h:860 [inline] RSP: ffff88809a4ff888
RIP: qp_release_pages+0x4f/0x280 drivers/misc/vmw_vmci/vmci_queue_pair.c:737 RSP: ffff88809a4ff888
---[ end trace cb5d9770e6aac118 ]---

Crashes (2):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets Title
ci2-linux-4-14 2020/10/23 10:48 linux-4.14.y 5b7a52cd2eef 4e740c00 .config console log report syz C
ci2-linux-4-14 2020/10/23 10:33 linux-4.14.y 5b7a52cd2eef 4e740c00 .config console log report info
* Struck through repros no longer work on HEAD.