All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable
@ 2022-08-10  5:43 Russell Currey
  2022-08-10 16:43 ` Nathan Chancellor
  2022-08-13 22:38 ` Michael Ellerman
  0 siblings, 2 replies; 3+ messages in thread
From: Russell Currey @ 2022-08-10  5:43 UTC (permalink / raw)
  To: linuxppc-dev, aik; +Cc: nathan, Russell Currey

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@csgroup.eu>
Signed-off-by: Russell Currey <ruscur@russell.cc>
---
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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable
  2022-08-10  5:43 [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable Russell Currey
@ 2022-08-10 16:43 ` Nathan Chancellor
  2022-08-13 22:38 ` Michael Ellerman
  1 sibling, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2022-08-10 16:43 UTC (permalink / raw)
  To: Russell Currey; +Cc: aik, linuxppc-dev

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@csgroup.eu>
> Signed-off-by: Russell Currey <ruscur@russell.cc>

Reviewed-by: Nathan Chancellor <nathan@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
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable
  2022-08-10  5:43 [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable Russell Currey
  2022-08-10 16:43 ` Nathan Chancellor
@ 2022-08-13 22:38 ` Michael Ellerman
  1 sibling, 0 replies; 3+ messages in thread
From: Michael Ellerman @ 2022-08-13 22:38 UTC (permalink / raw)
  To: Russell Currey, linuxppc-dev, aik; +Cc: nathan

On Wed, 10 Aug 2022 15:43:31 +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.
> 
> 

Applied to powerpc/fixes.

[1/1] powerpc/kexec: Fix build failure from uninitialised variable
      https://git.kernel.org/powerpc/c/83ee9f23763a432a4077bf20624ee35de87bce99

cheers

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-08-13 22:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-10  5:43 [PATCH v2] powerpc/kexec: Fix build failure from uninitialised variable Russell Currey
2022-08-10 16:43 ` Nathan Chancellor
2022-08-13 22:38 ` Michael Ellerman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.