powerpc/boot: Fix simpleboot CPU node lookup check
PATCH 1/3 powerpc/boot: Fix simpleboot CPU node lookup check
fdt_node_offset_by_prop_value() returns a negative error code on failure - fix the check accordingly.
--- arch/powerpc/boot/simpleboot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/boot/simpleboot.c +1 -1
@@ -68,7 +68,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,/* finally, setup the timebase */ node =fdt_node_offset_by_prop_value (_dtb_start,-1 ,"device_type" ,"cpu" ,sizeof ("cpu" )); -if (!node) +if (node <0 )fatal ("Cannot find cpu node\n" ); timebase =fdt_getprop (_dtb_start, node,"timebase-frequency" , &size);if (timebase && (size ==4 ))
PATCH 2/3 powerpc/boot: Fix treeboot-currituck CPU node lookup check
fdt_node_offset_by_prop_value() returns a negative error code on failure - fix the check accordingly.
--- arch/powerpc/boot/treeboot-currituck.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/boot/treeboot-currituck.c +1 -1
@@ -102,7 +102,7 @@ void platform_init(void) node =fdt_node_offset_by_prop_value (_dtb_start,-1 ,"device_type" ,"cpu" ,sizeof ("cpu" )); -if (!node) +if (node <0 )fatal ("Cannot find cpu node\n" ); timebase =fdt_getprop (_dtb_start, node,"timebase-frequency" , &size);if (timebase && (size ==4 ))
Re: [PATCH 2/3] powerpc/boot: Fix treeboot-currituck CPU node lookup check
Quoted 5 lines · Thorsten Blum
fdt_node_offset_by_prop_value()returns a negative error code on failure - fix the check accordingly.Fixes 228d55053397 ("powerpc/47x: Add support for the new IBM currituck platform")Signed-off-by Thorsten Blum <[email protected]>
Looks good to me. Please feel free to add:
Quoted 17 lines
--- arch/powerpc/boot/treeboot-currituck.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/powerpc/boot/treeboot-currituck.c +1
-1@@ -102,7 +102,7 @@ void platform_init(void) node =fdt_node_offset_by_prop_value (_dtb_start,-1 ,"device_type" ,"cpu" ,sizeof ("cpu" )); -if (!node) +if (node <0 )fatal ("Cannot find cpu node\n" ); timebase =fdt_getprop (_dtb_start, node,"timebase-frequency" , &size);if (timebase && (size ==4 ))
PATCH 3/3 powerpc/boot: Fix treeboot-akebono CPU node lookup check
In reply to Thorsten Blumfdt_node_offset_by_prop_value() returns a negative error code on failure - fix the check accordingly.
--- arch/powerpc/boot/treeboot-akebono.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/powerpc/boot/treeboot-akebono.c +1 -1
@@ -146,7 +146,7 @@ void platform_init(char *userdata) node =fdt_node_offset_by_prop_value (_dtb_start,-1 ,"device_type" ,"cpu" ,sizeof ("cpu" )); -if (!node) +if (node <0 )fatal ("Cannot find cpu node\n" ); timebase =fdt_getprop (_dtb_start, node,"timebase-frequency" , &size);if (timebase && (size ==4 ))
Re: [PATCH 3/3] powerpc/boot: Fix treeboot-akebono CPU node lookup check
Quoted 5 lines · Thorsten Blum
fdt_node_offset_by_prop_value()returns a negative error code on failure - fix the check accordingly.Fixes 2a2c74b2efcb ("IBM Akebono: Add the Akebono platform")Signed-off-by Thorsten Blum <[email protected]>
Looks good to me. Please feel free to add:
Quoted 17 lines
--- arch/powerpc/boot/treeboot-akebono.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/powerpc/boot/treeboot-akebono.c +1
-1@@ -146,7 +146,7 @@ void platform_init(char *userdata) node =fdt_node_offset_by_prop_value (_dtb_start,-1 ,"device_type" ,"cpu" ,sizeof ("cpu" )); -if (!node) +if (node <0 )fatal ("Cannot find cpu node\n" ); timebase =fdt_getprop (_dtb_start, node,"timebase-frequency" , &size);if (timebase && (size ==4 ))
Quoted 5 lines · Thorsten Blum
fdt_node_offset_by_prop_value()returns a negative error code on failure - fix the check accordingly.Fixes d2477b5cc8ca ("[POWERPC] bootwrapper: Add a firmware-independent simpleboot target.")Signed-off-by Thorsten Blum <[email protected]>
yup, if it cannot find the node, then it should return a negative error code, since cpu node is never the root node. The same thing was anyway properly done for memory device node in the same function few lines before...
/* Find the memory range */
node = fdt_node_offset_by_prop_value(_dtb_start, -1, "device_type",
"memory", sizeof("memory"));
if (node < 0)
fatal("Cannot find memory node\n");...but for cpu node, it uses a wrong comparison check.
Looks good to me. Please feel free to add:
Quoted 17 lines
--- arch/powerpc/boot/simpleboot.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)arch/powerpc/boot/simpleboot.c +1
-1@@ -68,7 +68,7 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,/* finally, setup the timebase */ node =fdt_node_offset_by_prop_value (_dtb_start,-1 ,"device_type" ,"cpu" ,sizeof ("cpu" )); -if (!node) +if (node <0 )fatal ("Cannot find cpu node\n" ); timebase =fdt_getprop (_dtb_start, node,"timebase-frequency" , &size);if (timebase && (size ==4 ))
Quoted 4 lines · Thorsten Blum
fdt_node_offset_by_prop_value()returns a negative error code on failure - fix the check accordingly.
Applied to powerpc/fixes.
[1/3] powerpc/boot: Fix simpleboot CPU node lookup check
https://git.kernel.org/powerpc/c/c824ab65685bb119c6c6a3a200b3428c72862d5a [2/3] powerpc/boot: Fix treeboot-currituck CPU node lookup check https://git.kernel.org/powerpc/c/43863f6575d2211e8c5157fefb83ad0ad046aab4 [3/3] powerpc/boot: Fix treeboot-akebono CPU node lookup check https://git.kernel.org/powerpc/c/b24fc8278b70a9d27ec801a427ab4de9b769d69a
cheers