summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/118/all/1880539
blob: ce254de1f819bd29a533f370dc14ea212e37f50f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
peripherals: 0.963
x86: 0.951
hypervisor: 0.949
permissions: 0.948
semantic: 0.941
debug: 0.941
arm: 0.938
user-level: 0.935
graphic: 0.935
performance: 0.929
device: 0.924
risc-v: 0.924
architecture: 0.919
PID: 0.918
register: 0.916
assembly: 0.914
i386: 0.912
VMM: 0.910
virtual: 0.908
TCG: 0.902
boot: 0.898
vnc: 0.895
mistranslation: 0.892
kernel: 0.885
network: 0.874
files: 0.873
socket: 0.858
KVM: 0.855
ppc: 0.825

I/O write make QXL abort in qxl_set_mode()

libFuzzer found:

qxl-0: guest bug: qxl_add_memslot: guest_start > guest_end 0xffffffffffffffff > 0x3ffffff
qemu-fuzz-i386: hw/display/qxl.c:1611: void qxl_set_mode(PCIQXLDevice *, unsigned int, int): Assertion `qxl_add_memslot(d, 0, devmem, QXL_SYNC) == 0' failed.
==8134== ERROR: libFuzzer: deadly signal
    #0 0x55fddfcfb3f0 in __sanitizer_print_stack_trace (qemu-fuzz-i386+0xcb13f0)
    #1 0x55fddfc0a3e1 in fuzzer::PrintStackTrace() (qemu-fuzz-i386+0xbc03e1)
    #2 0x55fddfbeac6f in fuzzer::Fuzzer::CrashCallback() (qemu-fuzz-i386+0xba0c6f)
    #3 0x55fddfbeacc3 in fuzzer::Fuzzer::StaticCrashSignalCallback() (qemu-fuzz-i386+0xba0cc3)
    #4 0x7fd640644c6f  (/lib64/libpthread.so.0+0x12c6f)
    #5 0x7fd640483e34 in __GI_raise (/lib64/libc.so.6+0x37e34)
    #6 0x7fd64046e894 in __GI_abort (/lib64/libc.so.6+0x22894)
    #7 0x7fd64046e768 in __assert_fail_base.cold (/lib64/libc.so.6+0x22768)
    #8 0x7fd64047c565 in __GI___assert_fail (/lib64/libc.so.6+0x30565)
    #9 0x55fde08afd8b in qxl_set_mode (qemu-fuzz-i386+0x1865d8b)
    #10 0x55fde08b9602 in ioport_write (qemu-fuzz-i386+0x186f602)
    #11 0x55fddff170a7 in memory_region_write_accessor (qemu-fuzz-i386+0xecd0a7)
    #12 0x55fddff16c13 in access_with_adjusted_size (qemu-fuzz-i386+0xeccc13)
    #13 0x55fddff157b4 in memory_region_dispatch_write (qemu-fuzz-i386+0xecb7b4)

Can be reproduce doing "writeb 0x06 0x23" on QXL I/O (PCI BAR #3).

Command line: 'qemu-system-i386 -display none -M pc -vga qxl'

Here's a qtest reproducer for this:
cat << EOF | ./i386-softmmu/qemu-system-i386 -M q35,accel=qtest -qtest null -nographic -vga qxl -qtest stdio -nodefaults
outl 0xcf8 0x80000804
outb 0xcfc 0xff
outl 0xcf8 0x80000819
outl 0xcfc 0x87caff7a
outb 0x86 0x23
EOF


This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'invalid' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/232