QEMU crashes on ioport access
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| QEMU |
Expired
|
High
|
Unassigned | ||
Bug Description
While running a fuzzer inside the guest, QEMU crashed with the following message and dumped the state of all vcpus:
qemu: hardware error: register_
CPU #0:
RAX=ffff880007a
RSI=0000000000a
R8 =0000000000000000 R9 =0000000000000000 R10=00000000000
R12=0000000000a
RIP=ffffffff810
ES =0000 0000000000000000 ffffffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
DS =0000 0000000000000000 ffffffff 00000000
FS =0000 00007f7de18e8700 ffffffff 00000000
GS =0000 ffff88000d800000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff88000d9d2540 00002087 00008b00 DPL=0 TSS64-busy
GDT= ffff88000d804000 0000007f
IDT= ffffffff8436d000 00000fff
CR0=8005003b CR2=00007f2f257
DR0=00000000000
DR6=00000000fff
EFER=0000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000
FPR2=0000000000
FPR4=0000000000
FPR6=0000000000
XMM00=000000000
XMM02=000000000
XMM04=000000000
XMM06=000000000
XMM08=000000000
XMM10=000000000
XMM12=000000000
XMM14=000000000
CPU #1:
RAX=ffff88001b5
RSI=ffffc900003
R8 =0000000000000000 R9 =0000000000000000 R10=00000000000
R12=00000000000
RIP=ffffffff811
ES =0000 0000000000000000 ffffffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
DS =0000 0000000000000000 ffffffff 00000000
FS =0000 00007fe38bb99700 ffffffff 00000000
GS =0000 ffff88001b800000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff88001b9d2540 00002087 00008b00 DPL=0 TSS64-busy
GDT= ffff88001b804000 0000007f
IDT= ffffffff8436d000 00000fff
CR0=8005003b CR2=00007f2f25a
DR0=00000000000
DR6=00000000fff
EFER=0000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000
FPR2=0000000000
FPR4=0000000000
FPR6=0000000000
XMM00=000000000
XMM02=000000000
XMM04=000000000
XMM06=000000000
XMM08=000000000
XMM10=000000000
XMM12=000000000
XMM14=000000000
CPU #2:
RAX=00000000000
RSI=00000000000
R8 =0000000000000004 R9 =000000000000001d R10=00000000000
R12=ffff88001b7
RIP=ffffffff828
ES =0000 0000000000000000 ffffffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
DS =0000 0000000000000000 ffffffff 00000000
FS =0000 00007f2f25ce7700 ffffffff 00000000
GS =0000 ffff880029800000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff8800299d2540 00002087 00008b00 DPL=0 TSS64-busy
GDT= ffff880029804000 0000007f
IDT= ffffffff8436d000 00000fff
CR0=80050033 CR2=00007f2f257
DR0=00000000000
DR6=00000000fff
EFER=0000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000
FPR2=0000000000
FPR4=0000000000
FPR6=0000000000
XMM00=000000000
XMM02=000000000
XMM04=000000000
XMM06=000000000
XMM08=000000000
XMM10=000000000
XMM12=000000000
XMM14=000000000
CPU #3:
RAX=00000000000
RSI=00000000000
R8 =0000000000000000 R9 =0000000000000001 R10=00000000000
R12=ffff88001af
RIP=ffffffff811
ES =0000 0000000000000000 ffffffff 00000000
CS =0010 0000000000000000 ffffffff 00a09b00 DPL=0 CS64 [-RA]
SS =0018 0000000000000000 ffffffff 00c09300 DPL=0 DS [-WA]
DS =0000 0000000000000000 ffffffff 00000000
FS =0000 0000000000000000 ffffffff 00000000
GS =0000 ffff880035a00000 ffffffff 00000000
LDT=0000 0000000000000000 ffffffff 00000000
TR =0040 ffff880035bd2540 00002087 00008b00 DPL=0 TSS64-busy
GDT= ffff880035a04000 0000007f
IDT= ffffffff8436d000 00000fff
CR0=8005003b CR2=0000000000a
DR0=00000000000
DR6=00000000fff
EFER=0000000000
FCW=037f FSW=0000 [ST=0] FTW=00 MXCSR=00001f80
FPR0=0000000000
FPR2=0000000000
FPR4=0000000000
FPR6=0000000000
XMM00=000000000
XMM02=000000000
XMM04=000000000
XMM06=000000000
XMM08=000000000
XMM10=000000000
XMM12=000000000
XMM14=000000000
And this is the trace:
Thread 5 (Thread 0x7fffee7b8700 (LWP 1754)):
#0 0x00007ffff40d3ad5 in *__GI_raise (sig=6) at ../nptl/
#1 0x00007ffff40d4f56 in *__GI_abort () at abort.c:93
#2 0x000055555572a0fa in hw_error (fmt=<optimized out>) at /home/sasha/
#3 0x0000555555750265 in register_
func=<optimized out>, opaque=<optimized out>) at /home/sasha/
#4 0x0000555555750364 in ioport_register (ioport=
#5 0x000055555575e910 in access_
access_
at /home/sasha/
#6 0x0000555555760212 in memory_
at /home/sasha/
#7 0x000055555575375d in kvm_handle_io (count=1, size=4, direction=1025, data=<optimized out>, port=3324)
at /home/sasha/
#8 kvm_cpu_exec (env=0x55555648
#9 0x0000555555729781 in qemu_kvm_
#10 0x00007ffff647ad0c in start_thread (arg=0x7fffee7b
#11 0x00007ffff417af1d in clone () at ../sysdeps/
| security vulnerability: | yes → no |
| visibility: | private → public |

Has this issue been fixed or can it still be reproduced with the latest version of QEMU?