[PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable
Nathan Chancellor
nathan at kernel.org
Thu Aug 11 02:43:34 AEST 2022
On Wed, Aug 10, 2022 at 03:43:31PM +1000, Russell Currey wrote:
> clang 14 won't build because ret is uninitialised and can be returned if
> both prop and fdtprop are NULL. Drop the ret variable and return an
> error in that failure case.
>
> Fixes: b1fc44eaa9ba ("pseries/iommu/ddw: Fix kdump to work in absence of ibm,dma-window")
> Suggested-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> Signed-off-by: Russell Currey <ruscur at russell.cc>
Reviewed-by: Nathan Chancellor <nathan at kernel.org>
Thanks for the patch!
> ---
> v2: adopt Christophe's suggestion, which is better
>
> arch/powerpc/kexec/file_load_64.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/arch/powerpc/kexec/file_load_64.c b/arch/powerpc/kexec/file_load_64.c
> index 683462e4556b..349a781cea0b 100644
> --- a/arch/powerpc/kexec/file_load_64.c
> +++ b/arch/powerpc/kexec/file_load_64.c
> @@ -1043,17 +1043,17 @@ static int copy_property(void *fdt, int node_offset, const struct device_node *d
> const char *propname)
> {
> const void *prop, *fdtprop;
> - int len = 0, fdtlen = 0, ret;
> + int len = 0, fdtlen = 0;
>
> prop = of_get_property(dn, propname, &len);
> fdtprop = fdt_getprop(fdt, node_offset, propname, &fdtlen);
>
> if (fdtprop && !prop)
> - ret = fdt_delprop(fdt, node_offset, propname);
> + return fdt_delprop(fdt, node_offset, propname);
> else if (prop)
> - ret = fdt_setprop(fdt, node_offset, propname, prop, len);
> -
> - return ret;
> + return fdt_setprop(fdt, node_offset, propname, prop, len);
> + else
> + return -FDT_ERR_NOTFOUND;
> }
>
> static int update_pci_dma_nodes(void *fdt, const char *dmapropname)
> --
> 2.37.1
>
More information about the Linuxppc-dev
mailing list