[PATCH 4/5] xilinx: zynq: fix dfu alt buffer clearing

Michal Simek michal.simek at amd.com
Mon Apr 14 08:28:56 CEST 2025



On 4/7/25 19:05, Vincent Stehlé wrote:
> The set_dfu_alt_info() function calls the ALLOC_CACHE_ALIGN_BUFFER()
> macro to declare a `buf' variable pointer into an array allocated on the
> stack. It then calls the memset() function to clear the useable portion
> of the array using the idiomatic expression `sizeof(buf)'.
> 
> While this would indeed work fine for an array, in the present case we
> end up clearing only the size of a pointer.
> Fix this by specifying the explicit size `DFU_ALT_BUF_LEN' instead.
> 
> Fixes: c67fecd2125b ("ARM: zynq: Enable capsule update for qspi and mmc")
> Signed-off-by: Vincent Stehlé <vincent.stehle at arm.com>
> Cc: Michal Simek <michal.simek at amd.com>
> Cc: Tom Rini <trini at konsulko.com>
> ---
>   board/xilinx/zynq/board.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c
> index 8dbfa560423..d8d4d5022ae 100644
> --- a/board/xilinx/zynq/board.c
> +++ b/board/xilinx/zynq/board.c
> @@ -176,7 +176,7 @@ void set_dfu_alt_info(char *interface, char *devstr)
>   	if (env_get("dfu_alt_info"))
>   		return;
>   
> -	memset(buf, 0, sizeof(buf));
> +	memset(buf, 0, DFU_ALT_BUF_LEN);
>   
>   	switch ((zynq_slcr_get_boot_mode()) & ZYNQ_BM_MASK) {
>   #if defined(CONFIG_SPL_FS_LOAD_PAYLOAD_NAME)

Applied.
M


More information about the U-Boot mailing list