[PATCH] xilinx: zynqmp: Fix AES with a user provided key
Michal Simek
michal.simek at amd.com
Tue Aug 23 10:10:20 CEST 2022
On 8/16/22 14:45, Janne Ylalehto wrote:
> 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 at gmail.com>
> ---
>
> board/xilinx/zynqmp/cmds.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/board/xilinx/zynqmp/cmds.c b/board/xilinx/zynqmp/cmds.c
> index 2ab9596248..e20030ecda 100644
> --- a/board/xilinx/zynqmp/cmds.c
> +++ b/board/xilinx/zynqmp/cmds.c
> @@ -142,9 +142,6 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc,
> aes->keysrc = hextoul(argv[6], 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) {
> flush_dcache_range(aes->srcaddr,
> (aes->srcaddr +
> @@ -169,6 +166,9 @@ static int do_zynqmp_aes(struct cmd_tbl *cmdtp, int flag, int argc,
> 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),
> lower_32_bits((ulong)aes), 0, 0, ret_payload);
> if (ret || ret_payload[1])
Applied.
M
More information about the U-Boot
mailing list