xemu/tests/qtest
Thomas Huth 9fe6e8139d hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-2023-0330)
We cannot use the generic reentrancy guard in the LSI code, so
we have to manually prevent endless reentrancy here. The problematic
lsi_execute_script() function has already a way to detect whether
too many instructions have been executed - we just have to slightly
change the logic here that it also takes into account if the function
has been called too often in a reentrant way.

The code in fuzz-lsi53c895a-test.c has been taken from an earlier
patch by Mauro Matteo Cascella.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1563
Message-Id: <20230522091011.1082574-1-thuth@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit b987718bbb1d0eabf95499b976212dd5f0120d75)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2023-05-28 12:02:26 +03:00
..
fuzz tests/qtest: virtio_blk_fuzz: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
libqos tests/qtests: override "force-legacy" for gpio virtio-mmio tests 2022-12-01 02:29:59 -05:00
ac97-test.c tests/qtest/ac97-test: Correct reference to driver 2022-08-29 15:29:13 +02:00
acpi-utils.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
acpi-utils.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
adm1272-test.c tests/qtest: add tests for ADM1272 device model 2021-07-08 14:41:59 -05:00
ahci-test.c tests/qtest: {ahci, ide}-test: Use relative path for temporary files for win32 2022-09-27 20:51:21 +02:00
am53c974-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
arm-cpu-features.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
aspeed_gpio-test.c hw/gpio/aspeed: Don't let guests modify input pins 2022-07-14 16:24:38 +02:00
aspeed_hace-test.c Misc cleanups 2022-05-03 09:13:17 -07:00
aspeed_smc-test.c tests/qtest: aspeed_smc-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
bcm2835-dma-test.c Align Raspberry Pi DMA interrupts with Linux DTS 2022-07-18 13:25:13 +01:00
bios-tables-test-allowed-diff.h tests: acpi: x86: update expected DSDT after moving PRQx fields in _SB scope 2022-11-22 05:19:00 -05:00
bios-tables-test.c bios-tables-test: add test for number of cores > 255 2022-11-07 14:08:18 -05:00
boot-order-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
boot-sector.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
boot-sector.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
boot-serial-test.c tests/qtest: boot-serial-test: Close the serial file before starting QEMU 2022-09-27 20:51:21 +02:00
cdrom-test.c tests/qtest: Use g_mkdtemp() 2022-08-25 15:16:13 +02:00
cmsdk-apb-dualtimer-test.c tests: Add a simple test of the CMSDK APB dual timer 2021-01-29 15:54:42 +00:00
cmsdk-apb-timer-test.c tests: Add a simple test of the CMSDK APB timer 2021-01-29 15:54:42 +00:00
cmsdk-apb-watchdog-test.c tests/qtest/cmsdk-apb-watchdog-test: Test clock changes 2021-01-29 15:54:44 +00:00
cpu-plug-test.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
cxl-test.c tests/qtest/cxl-test: Remove temporary directories after testing 2022-10-28 09:39:21 +02:00
dbus-display-test.c ui: fix path to dbus-display1.h 2022-09-29 18:23:51 +02:00
dbus-vmstate-test.c tests/qtest: Use EXIT_FAILURE instead of magic number 2022-10-28 14:31:49 +02:00
device-introspect-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
device-plug-test.c tests/qtest: device-plug-test: Reverse the usage of double/single quotes 2022-10-28 11:17:12 +02:00
display-vga-test.c
drive_del-test.c tests/x86: Add 'q35' machine type to drive_del-test 2022-10-11 14:06:55 +02:00
ds1338-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
e1000-test.c tests: Fix error strings 2022-09-20 11:23:02 +02:00
e1000e-test.c tests/qtest/e1000e-test: Use e1000_regs.h 2022-11-06 10:14:26 +01:00
eepro100-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
emc141x-test.c sensor: Move hardware sensors from misc to a sensor directory 2021-06-17 07:10:32 -05:00
endianness-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
erst-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
es1370-test.c tests: Fix error strings 2022-09-20 11:23:02 +02:00
fdc-test.c tests/qtest: fdc-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
fuzz-e1000e-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
fuzz-lsi53c895a-test.c hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-2023-0330) 2023-05-28 12:02:26 +03:00
fuzz-megasas-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-sb16-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-sdcard-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-virtio-scsi-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fuzz-xlnx-dp-test.c qtest: "-display none" is set in qtest_init() 2022-10-11 12:36:15 +02:00
fw_cfg-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
hd-geo-test.c tests/x86: Add 'q35' machine type to hotplug hd-geo-test 2022-10-11 14:06:55 +02:00
hexloader-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
i440fx-test.c tests/qtest: i440fx-test: Rewrite create_blob_file() to be portable 2022-09-27 20:51:20 +02:00
i82801b11-test.c
ide-test.c tests/qtest/ide-test: Verify that DIAGNOSTIC clears DEV to zero 2022-09-30 18:43:44 +02:00
intel-hda-test.c tests: Only run intel-hda-tests if machine type is compiled in 2022-09-20 12:34:31 +02:00
ioh3420-test.c
ipmi-bt-test.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
ipmi-kcs-test.c tests: Avoid side effects inside g_assert() arguments 2021-05-14 12:28:01 +02:00
ipoctal232-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
isl_pmbus_vr-test.c hw/sensor: add Renesas raa228000 device 2022-03-08 18:46:48 +01:00
ivshmem-test.c tests/x86: Add 'q35' machine type to ivshmem-test 2022-10-11 14:06:55 +02:00
libqmp.c tests/qtest: Use send/recv for socket communication 2022-10-28 11:17:12 +02:00
libqmp.h tests: make libqmp buildable for win32 2022-05-28 11:42:56 +02:00
libqtest-single.h tests/qtest: libqtest: Adapt global_qtest declaration for win32 2022-09-27 20:51:21 +02:00
libqtest.c tests/qtest: libqtest: Correct the timeout unit of blocking receive calls for win32 2022-10-28 14:32:09 +02:00
libqtest.h Fix some typos in documentation and comments 2022-11-05 20:35:45 +01:00
lpc-ich9-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
lsm303dlhc-mag-test.c hw/sensor: Add lsm303dlhc magnetometer device 2022-02-08 10:56:29 +00:00
m48t59-test.c tests/qtest: Adapt {m48t59,rtc}-test cases for win32 2022-08-25 15:24:09 +02:00
machine-none-test.c tests/qtest: machine-none-test: Use double quotes to pass the cpu option 2022-08-29 15:28:51 +02:00
max34451-test.c tests/qtest: add tests for MAX34451 device model 2021-07-08 14:42:00 -05:00
megasas-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
meson.build qtest: start a VNC test 2022-10-12 08:43:40 +02:00
microbit-test.c tests/qtest: microbit-test: Fix socket access for win32 2022-09-27 20:51:21 +02:00
migration-helpers.c tests/qtest: migration-test: Skip running test_migrate_fd_proto on win32 2022-08-25 15:24:09 +02:00
migration-helpers.h tests/qtest: migration-test: Skip running test_migrate_fd_proto on win32 2022-08-25 15:24:09 +02:00
migration-test.c tests/qtest/migration-test: Fix unlink error and memory leaks 2022-12-03 21:56:13 +01:00
modules-test.c blkio: add libblkio block driver 2022-10-26 14:56:42 -04:00
ne2000-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
npcm7xx_adc-test.c hw/adc: Fix CONV bit in NPCM7XX ADC CON register 2022-07-18 13:20:14 +01:00
npcm7xx_emc-test.c tests/qtest: npcm7xx-emc-test: Skip checking MAC 2022-09-19 15:12:28 +02:00
npcm7xx_gpio-test.c hw/gpio: Add GPIO model for Nuvoton NPCM7xx 2020-10-27 11:10:32 +00:00
npcm7xx_pwm-test.c qtest/npcm7xx_pwm-test: Fix memory leak in mft_qom_set 2022-06-03 08:03:28 +02:00
npcm7xx_rng-test.c include: move C/util-related declarations to cutils.h 2022-04-06 14:31:43 +02:00
npcm7xx_sdhci-test.c tests/qtest: Reduce npcm7xx_sdhci test image size 2022-06-10 14:32:35 +01:00
npcm7xx_smbus-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
npcm7xx_timer-test.c tests/qtest: variable defined by g_autofree need to be initialized 2020-11-20 13:34:22 +01:00
npcm7xx_watchdog_timer-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
numa-test.c qtest/numa-test: Correct CPU and NUMA association in aarch64_numa_cpu() 2022-05-09 11:47:55 +01:00
nvme-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pca9552-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pci-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pcnet-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pflash-cfi02-test.c tests/qtest: pflash-cfi02-test: Avoid using hardcoded /tmp 2022-09-27 20:51:21 +02:00
pnv-xscom-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
prom-env-test.c tests/qtest: prom-env-test: Use double quotes to pass the prom-env option 2022-08-29 15:28:51 +02:00
pvpanic-pci-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pvpanic-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
pxe-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
q35-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
qmp-cmd-test.c qmp: add QMP command x-query-virtio 2022-10-09 16:38:45 -04:00
qmp-test.c tests/qtest: qmp-test: Avoid using hardcoded /tmp 2022-09-27 20:51:21 +02:00
qom-test.c tests/qtest: Decrease the amount of output from the qom-test 2022-11-23 10:58:48 +01:00
qos-test.c tests/qtest: use qos_printf instead of g_test_message 2022-10-07 09:41:51 -04:00
readconfig-test.c tests/qtest: misc tweaks to readconfig 2022-08-16 11:36:21 +02:00
rtas-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
rtc-test.c tests/qtest: Adapt {m48t59,rtc}-test cases for win32 2022-08-25 15:24:09 +02:00
rtl8139-test.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
sdhci-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
spapr-phb-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
sse-timer-test.c tests/qtest/sse-timer-test: Test counter scaling changes 2021-03-08 17:20:03 +00:00
tco-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-arm-mptimer.c
test-filter-mirror.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-filter-redirector.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-hmp.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
test-netfilter.c tests/qtest: Make the filter tests independent from a specific NIC 2021-12-22 08:13:05 +01:00
test-x86-cpuid-compat.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
tmp105-test.c sensor: Move hardware sensors from misc to a sensor directory 2021-06-17 07:10:32 -05:00
tpm-crb-swtpm-test.c tests/qtest/tpm: Clean up remainders of swtpm 2022-10-28 09:39:21 +02:00
tpm-crb-test.c tests: Add tpm_version field to TPMTestState and fill it 2021-08-31 17:33:11 -04:00
tpm-emu.c tests: Use QMP to check whether a TPM device model is available 2021-08-31 17:33:12 -04:00
tpm-emu.h tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
tpm-tests.c tests/qtest/tpm-tests: Remove unnecessary NULL checks 2021-06-03 16:43:27 +01:00
tpm-tests.h
tpm-tis-device-swtpm-test.c tests/qtest/tpm: Clean up remainders of swtpm 2022-10-28 09:39:21 +02:00
tpm-tis-device-test.c tests: Add tpm_version field to TPMTestState and fill it 2021-08-31 17:33:11 -04:00
tpm-tis-swtpm-test.c tests/qtest/tpm: Clean up remainders of swtpm 2022-10-28 09:39:21 +02:00
tpm-tis-test.c tests: Add tpm_version field to TPMTestState and fill it 2021-08-31 17:33:11 -04:00
tpm-tis-util.c tests: Rename TestState to TPMTestState 2021-08-31 17:33:10 -04:00
tpm-tis-util.h
tpm-util.c tests/qtest/tpm: Clean up remainders of swtpm 2022-10-28 09:39:21 +02:00
tpm-util.h tests/qtest/tpm: Clean up remainders of swtpm 2022-10-28 09:39:21 +02:00
tulip-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
usb-hcd-ehci-test.c libqos: usb-hcd-ehci: use 32-bit write for config register 2020-06-26 06:45:29 -04:00
usb-hcd-ohci-test.c
usb-hcd-uhci-test.c
usb-hcd-xhci-test.c
vhost-user-blk-test.c tests/qtest: vhost-user-blk-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
vhost-user-test.c tests/qtest: vhost-user-test: Fix [-Werror=format-overflow=] build warning 2022-10-22 23:17:06 +02:00
virtio-9p-test.c tests/9p: merge v9fs_tunlinkat() and do_unlinkat() 2022-10-24 12:24:32 +02:00
virtio-blk-test.c tests/qtest: virtio-blk-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
virtio-ccw-test.c
virtio-iommu-test.c tests/qtest/virtio-iommu-test: Check bypass config 2022-03-06 05:08:23 -05:00
virtio-net-failover.c tests/qtest: virtio-net-failover: Disable migration tests for win32 2022-09-27 20:51:21 +02:00
virtio-net-test.c tests/qtest: Skip running virtio-net-test cases that require socketpair() for win32 2022-09-27 20:51:21 +02:00
virtio-rng-test.c tests/qtest/libqos: Skip hotplug tests if pci root bus is not hotpluggable 2022-05-12 12:07:06 +02:00
virtio-scsi-test.c tests/qtest: virtio-scsi-test: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
virtio-serial-test.c
virtio-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
vmgenid-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
vmxnet3-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
vnc-display-test.c qtest: start a VNC test 2022-10-12 08:43:40 +02:00
wdt_ib700-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00
xlnx-can-test.c tests: move libqtest.h back under qtest/ 2022-05-03 15:16:51 +04:00