BUG: unable to handle kernel paging request in coalesced_mmio_write

12 views
Skip to first unread message

syzbot

unread,
Jun 22, 2019, 4:30:07 PM6/22/19
to syzkaller...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: a5758c53 Linux 4.14.129
git tree: linux-4.14.y
console output: https://syzkaller.appspot.com/x/log.txt?x=104efaf6a00000
kernel config: https://syzkaller.appspot.com/x/.config?x=9116f86b1594833c
dashboard link: https://syzkaller.appspot.com/bug?extid=1c89747767c158362294
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11fa2ecea00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=154de2b1a00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+1c8974...@syzkaller.appspotmail.com

BUG: unable to handle kernel paging request at ffffed12314782b3
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
IP: coalesced_mmio_write+0x240/0x440
arch/x86/kvm/../../../virt/kvm/coalesced_mmio.c:83
PGD 21ffef067 P4D 21ffef067 PUD 0
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
Oops: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 0 PID: 7312 Comm: syz-executor844 Not tainted 4.14.129 #23
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
task: ffff888098d20480 task.stack: ffff88809e078000
RIP: 0010:coalesced_mmio_write+0x240/0x440
arch/x86/kvm/../../../virt/kvm/coalesced_mmio.c:83
RSP: 0018:ffff88809e07f428 EFLAGS: 00010a02
RAX: 00000000b52b40e6 RBX: 0000000000000000 RCX: ffff88808e2e0000
RDX: dffffc0000000000 RSI: 1ffff112314782b3 RDI: ffff88918a3c1598
RBP: ffff88809e07f478 R08: 0000000000000007 R09: 0000000000000000
R10: ffff888098d20d50 R11: ffff888098d20480 R12: ffff888092dc3f10
R13: 0000000000000001 R14: ffff888097a651a0 R15: 0000000000000001
FS: 00007f2e72e8c700(0000) GS:ffff8880aee00000(0000) knlGS:0000000000000000
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed12314782b3 CR3: 00000000a00d6000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
kvm_iodevice_write include/kvm/iodev.h:66 [inline]
__kvm_io_bus_write+0x241/0x340
arch/x86/kvm/../../../virt/kvm/kvm_main.c:3485
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
kvm_io_bus_write+0x115/0x200 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3510
vcpu_mmio_write arch/x86/kvm/x86.c:4486 [inline]
write_mmio+0x148/0x480 arch/x86/kvm/x86.c:4824
emulator_read_write_onepage+0x36a/0xbb0 arch/x86/kvm/x86.c:4893
emulator_read_write+0x174/0x540 arch/x86/kvm/x86.c:4942
emulator_write_emulated+0x3c/0x50 arch/x86/kvm/x86.c:4979
segmented_write+0xd3/0x120 arch/x86/kvm/emulate.c:1459
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
writeback+0x425/0x760 arch/x86/kvm/emulate.c:1821
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
x86_emulate_insn+0x15f2/0x4120 arch/x86/kvm/emulate.c:5616
x86_emulate_instruction+0x423/0x1700 arch/x86/kvm/x86.c:5917
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
kvm_mmu_page_fault+0x1c5/0x300 arch/x86/kvm/mmu.c:4998
handle_ept_violation+0x149/0x420 arch/x86/kvm/vmx.c:6930
vmx_handle_exit+0x20d/0x12a0 arch/x86/kvm/vmx.c:9194
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
vcpu_enter_guest+0xec8/0x5220 arch/x86/kvm/x86.c:7239
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
vcpu_run arch/x86/kvm/x86.c:7302 [inline]
kvm_arch_vcpu_ioctl_run+0x318/0x1000 arch/x86/kvm/x86.c:7469
kvm_vcpu_ioctl+0x401/0xd10 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2588
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
vfs_ioctl fs/ioctl.c:46 [inline]
file_ioctl fs/ioctl.c:500 [inline]
do_vfs_ioctl+0x7ae/0x1060 fs/ioctl.c:684
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
SYSC_ioctl fs/ioctl.c:701 [inline]
SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692
do_syscall_64+0x1e8/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x42/0xb7
RIP: 0033:0x44a2e9
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
RSP: 002b:00007f2e72e8bce8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00000000006e0c48 RCX: 000000000044a2e9
RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000005
RBP: 00000000006e0c40 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000006e0c4c
R13: 00007fffc896098f R14: 00007f2e72e8c9c0 R15: 20c49ba5e353f7cf
Code: c0 03 38 d0 7c 08 84 d2 0f 85 00 02
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
00 00 8b 41 04 48 8d 14 40 48 8d 7c d1 08 48 ba 00 00 00 00 00 fc ff df 48
89 fe 48 c1 ee 03 <80>
kobject: 'kvm' (ffff8880a6e84390): kobject_uevent_env
3c 16 00 0f 85 bf 01 00 00 48 8d 14 40 48 be 00 00
kobject: 'kvm' (ffff8880a6e84390): fill_kobj_path: path
= '/devices/virtual/misc/kvm'
00 00 00
RIP: coalesced_mmio_write+0x240/0x440
arch/x86/kvm/../../../virt/kvm/coalesced_mmio.c:83 RSP: ffff88809e07f428
CR2: ffffed12314782b3
---[ end trace 9655ab5c0c048802 ]---


---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this bug, for details see:
https://goo.gl/tpsmEJ#testing-patches

syzbot

unread,
Jun 22, 2019, 7:28:07 PM6/22/19
to syzkaller...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: 78778071 Linux 4.19.55
git tree: linux-4.19.y
console output: https://syzkaller.appspot.com/x/log.txt?x=14695af6a00000
kernel config: https://syzkaller.appspot.com/x/.config?x=3bb067df352bfe4b
dashboard link: https://syzkaller.appspot.com/bug?extid=fa7e2587dff5bb4b1be2
compiler: gcc (GCC) 9.0.0 20181231 (experimental)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12787e69a00000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16f9ac06a00000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+fa7e25...@syzkaller.appspotmail.com

audit: type=1400 audit(1561243920.909:36): avc: denied { map } for
pid=7773 comm="syz-executor831" path="/root/syz-executor831863447"
dev="sda1" ino=16484 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023
tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file permissive=1
L1TF CPU bug present and SMT on, data leak possible. See CVE-2018-3646 and
https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html for
details.
BUG: unable to handle kernel paging request at ffffed12f8ff841f
PGD 21fff0067 P4D 21fff0067 PUD 0
Oops: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 7773 Comm: syz-executor831 Not tainted 4.19.55 #27
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
RIP: 0010:coalesced_mmio_write+0x288/0x440
arch/x86/kvm/../../../virt/kvm/coalesced_mmio.c:83
Code: 38 d0 7c 08 84 d2 0f 85 cc 01 00 00 41 8b 47 04 48 8d 14 40 49 8d 7c
d7 08 48 ba 00 00 00 00 00 fc ff df 48 89 f9 48 c1 e9 03 <80> 3c 11 00 0f
85 92 01 00 00 48 8d 14 40 48 b9 00 00 00 00 00 fc
RSP: 0018:ffff88809409f130 EFLAGS: 00010a02
RAX: 00000000f7d5760a RBX: 0000000000000000 RCX: 1ffff112f8ff841f
RDX: dffffc0000000000 RSI: ffffffff8107bf9c RDI: ffff8897c7fc20f8
RBP: ffff88809409f180 R08: ffff88808dbe6080 R09: fffff52000bc74d9
R10: fffff52000bc74d8 R11: ffffc90005e3a6c3 R12: 0000000000000001
R13: ffff8880743bcc90 R14: 0000000000000001 R15: ffff88808bf91000
FS: 0000000001018940(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed12f8ff841f CR3: 00000000941a4000 CR4: 00000000001426e0
Call Trace:
kvm_iodevice_write include/kvm/iodev.h:66 [inline]
__kvm_io_bus_write+0x29b/0x380
arch/x86/kvm/../../../virt/kvm/kvm_main.c:3471
kvm_io_bus_write+0x15c/0x290 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3496
vcpu_mmio_write arch/x86/kvm/x86.c:4779 [inline]
write_mmio+0x175/0x4e0 arch/x86/kvm/x86.c:5141
emulator_read_write_onepage+0x429/0xd50 arch/x86/kvm/x86.c:5210
emulator_read_write+0x1b7/0x5a0 arch/x86/kvm/x86.c:5259
emulator_write_emulated+0x3c/0x50 arch/x86/kvm/x86.c:5296
segmented_write+0xf0/0x150 arch/x86/kvm/emulate.c:1446
writeback arch/x86/kvm/emulate.c:1808 [inline]
writeback+0x3f4/0x6a0 arch/x86/kvm/emulate.c:1794
x86_emulate_insn+0x1de1/0x48f0 arch/x86/kvm/emulate.c:5674
x86_emulate_instruction+0xc84/0x1c20 arch/x86/kvm/x86.c:6271
kvm_mmu_page_fault+0x326/0x1650 arch/x86/kvm/mmu.c:5287
handle_ept_violation+0x1c9/0x500 arch/x86/kvm/vmx.c:7690
vmx_handle_exit+0x276/0x1650 arch/x86/kvm/vmx.c:10165
vcpu_enter_guest+0x1244/0x6130 arch/x86/kvm/x86.c:7735
vcpu_run arch/x86/kvm/x86.c:7798 [inline]
kvm_arch_vcpu_ioctl_run+0x417/0x16c0 arch/x86/kvm/x86.c:7998
kvm_vcpu_ioctl+0x4dc/0xf90 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2594
vfs_ioctl fs/ioctl.c:46 [inline]
file_ioctl fs/ioctl.c:501 [inline]
do_vfs_ioctl+0xd5f/0x1380 fs/ioctl.c:688
ksys_ioctl+0xab/0xd0 fs/ioctl.c:705
__do_sys_ioctl fs/ioctl.c:712 [inline]
__se_sys_ioctl fs/ioctl.c:710 [inline]
__x64_sys_ioctl+0x73/0xb0 fs/ioctl.c:710
do_syscall_64+0xfd/0x620 arch/x86/entry/common.c:293
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4444e9
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 1b 0c fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007ffe0192daa8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007ffe0192dab0 RCX: 00000000004444e9
RDX: 0000000000000000 RSI: 000000000000ae80 RDI: 0000000000000005
RBP: 0000000000000000 R08: 0000000000402240 R09: 0000000000402240
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000405590
R13: 0000000000405620 R14: 0000000000000000 R15: 0000000000000000
Modules linked in:
CR2: ffffed12f8ff841f
---[ end trace 6711d194e7d5b8b4 ]---
RIP: 0010:coalesced_mmio_write+0x288/0x440
arch/x86/kvm/../../../virt/kvm/coalesced_mmio.c:83
Code: 38 d0 7c 08 84 d2 0f 85 cc 01 00 00 41 8b 47 04 48 8d 14 40 49 8d 7c
d7 08 48 ba 00 00 00 00 00 fc ff df 48 89 f9 48 c1 e9 03 <80> 3c 11 00 0f
85 92 01 00 00 48 8d 14 40 48 b9 00 00 00 00 00 fc
RSP: 0018:ffff88809409f130 EFLAGS: 00010a02
RAX: 00000000f7d5760a RBX: 0000000000000000 RCX: 1ffff112f8ff841f
RDX: dffffc0000000000 RSI: ffffffff8107bf9c RDI: ffff8897c7fc20f8
RBP: ffff88809409f180 R08: ffff88808dbe6080 R09: fffff52000bc74d9
R10: fffff52000bc74d8 R11: ffffc90005e3a6c3 R12: 0000000000000001
R13: ffff8880743bcc90 R14: 0000000000000001 R15: ffff88808bf91000
FS: 0000000001018940(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffed12f8ff841f CR3: 00000000941a4000 CR4: 00000000001426e0

syzbot

unread,
Dec 1, 2019, 3:19:00 AM12/1/19
to syzkaller...@googlegroups.com
syzbot suspects this bug was fixed by commit:

commit 232a6462f43fceeac82bd99ef092b38e3a7ee296
Author: Matt Delco <de...@chromium.org>
Date: Mon Sep 16 21:16:54 2019 +0000

KVM: coalesced_mmio: add bounds checking

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=102ed82ae00000
start commit: 78778071 Linux 4.19.55
git tree: linux-4.19.y
If the result looks correct, please mark the bug fixed by replying with:

#syz fix: KVM: coalesced_mmio: add bounds checking

For information about bisection process see: https://goo.gl/tpsmEJ#bisection

syzbot

unread,
Dec 1, 2019, 11:48:01 AM12/1/19
to syzkaller...@googlegroups.com
syzbot suspects this bug was fixed by commit:

commit bf81752d808cd31e18d9a8db6d92b73497aa48d2
Author: Matt Delco <de...@chromium.org>
Date: Mon Sep 16 21:16:54 2019 +0000

KVM: coalesced_mmio: add bounds checking

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=169858eae00000
start commit: a5758c53 Linux 4.14.129
git tree: linux-4.14.y
Reply all
Reply to author
Forward
0 new messages