[PATCH 5/5] arm64: zynqmp: fix dfu alt buffer clearing

Begari, Padmarao Padmarao.Begari at amd.com
Fri Apr 11 05:57:43 CEST 2025


[AMD Official Use Only - AMD Internal Distribution Only]

> From: U-Boot <u-boot-bounces at lists.denx.de> On Behalf Of Vincent Stehlé
> Sent: Monday, April 7, 2025 10:35 PM
> To: u-boot at lists.denx.de
> Cc: Vincent Stehlé <vincent.stehle at arm.com>; Jassi Brar
> <jaswinder.singh at linaro.org>; Marek Vasut <marex at denx.de>; Masahisa Kojima
> <kojima.masahisa at socionext.com>; Simek, Michal <michal.simek at amd.com>;
> Patrice Chotard <patrice.chotard at foss.st.com>; Patrick Delaunay
> <patrick.delaunay at foss.st.com>; Tom Rini <trini at konsulko.com>
> Subject: [PATCH 5/5] arm64: zynqmp: fix dfu alt buffer clearing
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> 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: b86f43de0be0 ("xilinx: zynqmp: Add support for runtime dfu_alt_info setup")
> 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>

Acked-by: Padmarao Begari <padmarao.begari at amd.com>

> ---
>  board/xilinx/zynqmp/zynqmp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index
> 820fb252a3f..687dcd3ac9d 100644
> --- a/board/xilinx/zynqmp/zynqmp.c
> +++ b/board/xilinx/zynqmp/zynqmp.c
> @@ -669,7 +669,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);
>
>         multiboot = multi_boot();
>         if (multiboot < 0)
> --
> 2.47.2



More information about the U-Boot mailing list