[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