mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 08:57:58 +00:00
xilinx: zynqmp: Fix AES with a user provided key
The user provided key address was not flushed in struct aes because of the flushing location in the function. Signed-off-by: Janne Ylalehto <ylalehto@gmail.com> Link: https://lore.kernel.org/r/20220816124525.19671-1-ylalehto@gmail.com Signed-off-by: Michal Simek <michal.simek@amd.com>
This commit is contained in:
parent
7a0bc18b63
commit
cf5c48d102
1 changed files with 3 additions and 3 deletions
|
@ -142,9 +142,6 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
aes->keysrc = hextoul(argv[6], NULL);
|
aes->keysrc = hextoul(argv[6], NULL);
|
||||||
aes->dstaddr = hextoul(argv[7], NULL);
|
aes->dstaddr = hextoul(argv[7], NULL);
|
||||||
|
|
||||||
flush_dcache_range((ulong)aes, (ulong)(aes) +
|
|
||||||
roundup(sizeof(struct aes), ARCH_DMA_MINALIGN));
|
|
||||||
|
|
||||||
if (aes->srcaddr && aes->ivaddr && aes->dstaddr) {
|
if (aes->srcaddr && aes->ivaddr && aes->dstaddr) {
|
||||||
flush_dcache_range(aes->srcaddr,
|
flush_dcache_range(aes->srcaddr,
|
||||||
(aes->srcaddr +
|
(aes->srcaddr +
|
||||||
|
@ -169,6 +166,9 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
ARCH_DMA_MINALIGN)));
|
ARCH_DMA_MINALIGN)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
flush_dcache_range((ulong)aes, (ulong)(aes) +
|
||||||
|
roundup(sizeof(struct aes), ARCH_DMA_MINALIGN));
|
||||||
|
|
||||||
ret = xilinx_pm_request(PM_SECURE_AES, upper_32_bits((ulong)aes),
|
ret = xilinx_pm_request(PM_SECURE_AES, upper_32_bits((ulong)aes),
|
||||||
lower_32_bits((ulong)aes), 0, 0, ret_payload);
|
lower_32_bits((ulong)aes), 0, 0, ret_payload);
|
||||||
if (ret || ret_payload[1])
|
if (ret || ret_payload[1])
|
||||||
|
|
Loading…
Reference in a new issue