]> www.infradead.org Git - users/dwmw2/qemu.git/commit
hw/misc/aspeed_hace: Fix SG Accumulative hashing
authorAlejandro Zeise <alejandro.zeise@seagate.com>
Wed, 7 Aug 2024 19:51:22 +0000 (19:51 +0000)
committerCédric Le Goater <clg@redhat.com>
Thu, 24 Oct 2024 05:57:47 +0000 (07:57 +0200)
commit4c1d0af4a28d15d04a9bd522a5c3976eda9f999e
tree847c88040cccf0680b2e2d4494948215b8c5f866
parent34fdd734c5da7de39c09f3d8793042292f95dacc
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>
hw/misc/aspeed_hace.c
include/hw/misc/aspeed_hace.h