syzbot


general protection fault in qp_release_pages

Status: fixed on 2020/11/17 09:23
Reported-by: syzbot+de69b9118a1682380586@syzkaller.appspotmail.com
Fix commit: 0b02a4325780 VMCI: check return value of get_user_pages_fast() for errors
First crash: 1498d, last: 1496d
Fix bisection: fixed by (bisect log) :
commit 0b02a43257805da6f670c1a1fe40d19499d9c741
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.14 general protection fault in qp_release_pages C done 2 1460d 1490d 1/1 fixed on 2020/12/23 11:20
upstream general protection fault in qp_release_pages kernel C done 2 1501d 1501d 15/28 fixed on 2020/11/16 12:12

Sample crash report:
audit: type=1400 audit(1602708268.599:8): avc:  denied  { execmem } for  pid=6482 comm="syz-executor237" scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=process permissive=1
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
CPU: 1 PID: 6482 Comm: syz-executor237 Not tainted 4.19.150-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:__read_once_size include/linux/compiler.h:193 [inline]
RIP: 0010:compound_head include/linux/page-flags.h:142 [inline]
RIP: 0010:put_page include/linux/mm.h:951 [inline]
RIP: 0010:qp_release_pages+0x5a/0x310 drivers/misc/vmw_vmci/vmci_queue_pair.c:650
Code: 04 fd 31 ff 48 89 ee e8 94 5f 04 fd 48 85 ed 0f 85 09 01 00 00 e9 4e 02 00 00 e8 f1 5d 04 fd 48 8d 7d 08 48 89 f8 48 c1 e8 03 <42> 80 3c 28 00 0f 85 46 02 00 00 48 8b 45 08 31 ff 48 89 c3 48 89
RSP: 0018:ffff88808a167788 EFLAGS: 00010202
RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffffffff846d759c
RDX: 0000000000000000 RSI: ffffffff846d746f RDI: 0000000000000008
RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: ffff88809e5a27c0
R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000ad2880(0000) GS:ffff8880ae300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 000000008d480000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 qp_host_get_user_memory+0x249/0x3e0 drivers/misc/vmw_vmci/vmci_queue_pair.c:674
 qp_host_register_user_memory drivers/misc/vmw_vmci/vmci_queue_pair.c:717 [inline]
 qp_broker_create drivers/misc/vmw_vmci/vmci_queue_pair.c:1394 [inline]
 qp_broker_alloc+0x10fa/0x1bd0 drivers/misc/vmw_vmci/vmci_queue_pair.c:1748
 vmci_qp_broker_alloc+0x48/0x60 drivers/misc/vmw_vmci/vmci_queue_pair.c:1941
 vmci_host_do_alloc_queuepair.constprop.0+0x1b4/0x400 drivers/misc/vmw_vmci/vmci_host.c:495
 vmci_host_unlocked_ioctl+0x1459/0x1e40 drivers/misc/vmw_vmci/vmci_host.c:944
 vfs_ioctl fs/ioctl.c:46 [inline]
 file_ioctl fs/ioctl.c:501 [inline]
 do_vfs_ioctl+0xcdb/0x12e0 fs/ioctl.c:688
 ksys_ioctl+0x9b/0xc0 fs/ioctl.c:705
 __do_sys_ioctl fs/ioctl.c:712 [inline]
 __se_sys_ioctl fs/ioctl.c:710 [inline]
 __x64_sys_ioctl+0x6f/0xb0 fs/ioctl.c:710
 do_syscall_64+0xf9/0x670 arch/x86/entry/common.c:293
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4402f9
Code: 18 89 d0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 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 0f 83 7b 13 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fff59b50978 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 00000000004402f9
RDX: 0000000020000080 RSI: 00000000000007a8 RDI: 0000000000000003
RBP: 00000000006ca018 R08: 00000000004002c8 R09: 00000000004002c8
R10: 00000000004002c8 R11: 0000000000000246 R12: 0000000000401b00
R13: 0000000000401b90 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
---[ end trace ef612ce3a4ae7dc1 ]---
RIP: 0010:__read_once_size include/linux/compiler.h:193 [inline]
RIP: 0010:compound_head include/linux/page-flags.h:142 [inline]
RIP: 0010:put_page include/linux/mm.h:951 [inline]
RIP: 0010:qp_release_pages+0x5a/0x310 drivers/misc/vmw_vmci/vmci_queue_pair.c:650
Code: 04 fd 31 ff 48 89 ee e8 94 5f 04 fd 48 85 ed 0f 85 09 01 00 00 e9 4e 02 00 00 e8 f1 5d 04 fd 48 8d 7d 08 48 89 f8 48 c1 e8 03 <42> 80 3c 28 00 0f 85 46 02 00 00 48 8b 45 08 31 ff 48 89 c3 48 89
RSP: 0018:ffff88808a167788 EFLAGS: 00010202
RAX: 0000000000000001 RBX: 0000000000000000 RCX: ffffffff846d759c
RDX: 0000000000000000 RSI: ffffffff846d746f RDI: 0000000000000008
RBP: 0000000000000000 R08: 0000000000000007 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: ffff88809e5a27c0
R13: dffffc0000000000 R14: 0000000000000000 R15: 0000000000000000
FS:  0000000000ad2880(0000) GS:ffff8880ae300000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020000000 CR3: 000000008d480000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Crashes (4):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/10/14 20:46 linux-4.19.y a1b977b49b66 fc7735a2 .config console log report syz C ci2-linux-4-19
2020/10/17 01:03 linux-4.19.y a1b977b49b66 6e262c73 .config console log report info ci2-linux-4-19
2020/10/14 21:12 linux-4.19.y a1b977b49b66 fc7735a2 .config console log report info ci2-linux-4-19
2020/10/14 20:31 linux-4.19.y a1b977b49b66 fc7735a2 .config console log report info ci2-linux-4-19
* Struck through repros no longer work on HEAD.