]> git.baikalelectronics.ru Git - kernel.git/commitdiff
powerpc/kexec: Fix build failure from uninitialised variable
authorRussell Currey <ruscur@russell.cc>
Wed, 10 Aug 2022 05:43:31 +0000 (15:43 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 10 Aug 2022 05:55:20 +0000 (15:55 +1000)
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: 1477c76299bb ("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>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220810054331.373761-1-ruscur@russell.cc
arch/powerpc/kexec/file_load_64.c

index 683462e4556bf24e792a0a1cf1847fd5a38c4045..349a781cea0b3fdec4034b6c5ce6dfb512c32337 100644 (file)
@@ -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)