qemu/hw/misc
Alejandro Zeise 4c1d0af4a2 hw/misc/aspeed_hace: Fix SG Accumulative hashing
Make the Aspeed HACE module use the new qcrypto accumulative hashing functions
when in scatter-gather accumulative mode. A hash context will maintain a
"running-hash" as each scatter-gather chunk is received.

Previously each scatter-gather "chunk" was cached
so the hash could be computed once the final chunk was received.
However, the cache was a shallow copy, so once the guest overwrote the
memory provided to HACE the final hash would not be correct.

Possibly related to: https://gitlab.com/qemu-project/qemu/-/issues/1121
Buglink: https://github.com/openbmc/qemu/issues/36

Signed-off-by: Alejandro Zeise <alejandro.zeise@seagate.com>
[ clg: - Checkpatch fixes
       - Reworked qcrypto_hash*() error reports in do_hash_operation() ]
Signed-off-by: Cédric Le Goater <clg@redhat.com>
Acked-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
2024-10-24 07:57:47 +02:00
..
macio
a9scu.c
allwinner-a10-ccm.c
allwinner-a10-dramc.c
allwinner-cpucfg.c
allwinner-h3-ccu.c
allwinner-h3-dramc.c
allwinner-h3-sysctrl.c
allwinner-r40-ccu.c
allwinner-r40-dramc.c
allwinner-sid.c
allwinner-sramc.c
applesmc.c
arm11scu.c
arm_integrator_debug.c
arm_l2x0.c
arm_sysctl.c
armsse-cpu-pwrctrl.c
armsse-cpuid.c
armsse-mhu.c
armv7m_ras.c
aspeed_hace.c hw/misc/aspeed_hace: Fix SG Accumulative hashing 2024-10-24 07:57:47 +02:00
aspeed_i3c.c
aspeed_lpc.c
aspeed_peci.c
aspeed_sbc.c
aspeed_scu.c
aspeed_sdmc.c
aspeed_sli.c
aspeed_xdma.c
auxbus.c
avr_power.c
axp2xx.c
bcm2835_cprman.c
bcm2835_mbox.c
bcm2835_mphi.c
bcm2835_powermgt.c
bcm2835_property.c
bcm2835_rng.c
bcm2835_thermal.c
debugexit.c
djmemc.c
eccmemctl.c
edu.c
empty_slot.c
exynos4210_clk.c
exynos4210_pmu.c
exynos4210_rng.c
grlib_ahb_apb_pnp.c
i2c-echo.c
imx6_ccm.c
imx6_src.c
imx6ul_ccm.c
imx7_ccm.c
imx7_gpr.c
imx7_snvs.c
imx7_src.c
imx25_ccm.c
imx31_ccm.c
imx_ccm.c
imx_rngc.c
iosb.c
iotkit-secctl.c
iotkit-sysctl.c
iotkit-sysinfo.c
ivshmem.c
Kconfig
lasi.c
led.c
mac_via.c
mchp_pfsoc_dmc.c
mchp_pfsoc_ioscb.c
mchp_pfsoc_sysreg.c
meson.build
mips_cmgcr.c
mips_cpc.c
mips_itu.c
mos6522.c
mps2-fpgaio.c
mps2-scc.c
msf2-sysreg.c
npcm7xx_clk.c
npcm7xx_gcr.c
npcm7xx_mft.c
npcm7xx_pwm.c
npcm7xx_rng.c
nrf51_rng.c
omap_clk.c
pc-testdev.c
pci-testdev.c
pvpanic-isa.c
pvpanic-pci.c
pvpanic.c
sbsa_ec.c
sifive_e_aon.c
sifive_e_prci.c
sifive_test.c
sifive_u_otp.c
sifive_u_prci.c
slavio_misc.c
stm32_rcc.c
stm32f2xx_syscfg.c
stm32f4xx_exti.c
stm32f4xx_syscfg.c
stm32l4x5_exti.c
stm32l4x5_rcc.c
stm32l4x5_syscfg.c
trace-events
trace.h
tz-mpc.c
tz-msc.c
tz-ppc.c
unimp.c
virt_ctrl.c
vmcoreinfo.c
xlnx-cfi-if.c
xlnx-versal-cframe-reg.c
xlnx-versal-cfu.c
xlnx-versal-crl.c
xlnx-versal-pmc-iou-slcr.c
xlnx-versal-trng.c
xlnx-versal-xramc.c
xlnx-zynqmp-apu-ctrl.c
xlnx-zynqmp-crf.c
zynq_slcr.c