qemu-patch-raspberry4/hw/arm
Peter Maydell 3f410039b7 hw/arm/armsse: Assert info->num_cpus is in-bounds in armsse_realize()
In armsse_realize() we have a loop over [0, info->num_cpus), which
indexes into various fixed-size arrays in the ARMSSE struct.  This
confuses Coverity, which warns that we might overrun those arrays
(CID 1430326, 1430337, 1430371, 1430414, 1430430).  This can't
actually happen, because the info struct is always one of the entries
in the armsse_variants[] array and num_cpus is either 1 or 2; we also
already assert in armsse_init() that num_cpus is not too large.
However, adding an assert to armsse_realize() like the one in
armsse_init() should help Coverity figure out that these code paths
aren't possible.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20200713143716.9881-1-peter.maydell@linaro.org
2020-07-20 11:35:17 +01:00
..
allwinner-a10.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
allwinner-h3.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
armsse.c hw/arm/armsse: Assert info->num_cpus is in-bounds in armsse_realize() 2020-07-20 11:35:17 +01:00
armv7m.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
aspeed.c Minor changes to: 2020-07-20 11:03:09 +01:00
aspeed_ast2600.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
aspeed_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
bcm2835_peripherals.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
bcm2836.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
boot.c Remove unnecessary cast when using the address_space API 2020-02-20 14:47:08 +01:00
collie.c hw/arm/collie: Put StrongARMState* into a CollieMachineState struct 2020-04-03 19:23:37 +01:00
cubieboard.c qom: Use returned bool to check for failure, Coccinelle part 2020-07-10 15:18:08 +02:00
digic.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
digic_boards.c qdev: Use returned bool to check for qdev_realize() etc. failure 2020-07-10 15:01:06 +02:00
exynos4_boards.c sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1 2020-06-15 22:06:04 +02:00
exynos4210.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
fsl-imx6.c Add the ability to change the FEC PHY MDIO device number on i.MX6 processor 2020-07-13 14:36:08 +01:00
fsl-imx6ul.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
fsl-imx7.c Add the ability to change the FEC PHY MDIO devices numbers on i.MX7 processor 2020-07-13 14:36:08 +01:00
fsl-imx25.c Add the ability to change the FEC PHY MDIO device number on i.MX25 processor 2020-07-13 14:36:07 +01:00
fsl-imx31.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
gumstix.c hw/arm/gumstix: Simplify since the machines are little-endian only 2020-03-05 16:09:14 +00:00
highbank.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
imx25_pdk.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
integratorcp.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
Kconfig hw/arm/mps2: Add I2C devices 2020-06-23 11:39:47 +01:00
kzm.c qdev: Convert bus-less devices to qdev_realize() with Coccinelle 2020-06-15 22:06:04 +02:00
mainstone.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
Makefile.objs hw/arm: add Xunlong Orange Pi PC machine 2020-03-12 16:27:33 +00:00
mcimx6ul-evk.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mcimx7d-sabre.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
microbit.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mps2-tz.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
mps2.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
msf2-soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
msf2-som.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
musca.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
musicpal.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
netduino2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
netduinoplus2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
nrf51_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
nseries.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
omap1.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap2.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
omap_sx1.c hw/arm: Use memory_region_init_rom() with read-only regions 2020-03-17 15:18:46 +01:00
orangepi.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
palm.c hw/arm/palm.c: Encapsulate misc GPIO handling in a device 2020-07-13 14:36:12 +01:00
pxa2xx.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
pxa2xx_gpio.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
pxa2xx_pic.c hw/arm/pxa2xx_pic: Use LOG_GUEST_ERROR for bad guest register accesses 2020-07-03 16:59:45 +01:00
raspi.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
realview.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
sabrelite.c qdev: Make qdev_prop_set_drive() match the other helpers 2020-06-23 16:07:07 +02:00
sbsa-ref.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
smmu-common.c hw/arm/smmu-common: Simplify smmu_find_smmu_pcibus() logic 2020-03-05 16:09:14 +00:00
smmu-internal.h hw/arm/smmu-common: VMSAv8-64 page table walk 2018-05-04 18:05:51 +01:00
smmuv3-internal.h hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro 2019-12-20 14:03:00 +00:00
smmuv3.c hw: Remove unnecessary cast when calling dma_memory_read() 2020-02-20 14:47:08 +01:00
spitz.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
stellaris.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
stm32f205_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
stm32f405_soc.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
strongarm.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
strongarm.h hw/arm/collie: Create the RAM in the board 2019-10-22 17:44:01 +01:00
sysbus-fdt.c hw/arm/virt: vTPM support 2020-03-05 12:18:16 -05:00
tosa.c Minor changes to: 2020-07-20 11:03:09 +01:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
versatilepb.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
vexpress.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00
virt-acpi-build.c hw/arm/virt-acpi-build: Only expose flash on older machine types 2020-07-03 16:59:43 +01:00
virt.c hw/arm/virt: Disable memory hotplug when MTE is enabled 2020-07-20 11:35:17 +01:00
xilinx_zynq.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-versal-virt.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-versal.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-zcu102.c qom: Put name parameter before value / visitor parameter 2020-07-10 15:18:08 +02:00
xlnx-zynqmp.c error: Eliminate error_propagate() with Coccinelle, part 1 2020-07-10 15:18:08 +02:00
z2.c hw/i2c: Rename i2c_create_slave() as i2c_slave_create_simple() 2020-07-16 12:30:54 -05:00