of/fdt: Don't copy garbage after "/" in root node path
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 22 Oct 2012 00:32:30 +0000 (11:32 +1100)
committerRob Herring <rob.herring@calxeda.com>
Sun, 11 Nov 2012 03:53:04 +0000 (21:53 -0600)
The root node path must be internally converted to "/", or various
pieces of code looking for it that way will fail. The code to do
that however had a bug where we might incorrectly append pieces
of the original path from the fdt to the "/".

We should probably add a proper dedicated accessor for the root node
but in the meantime this patch should fix it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
drivers/of/fdt.c

index 91a375fb6ae622181231fce19b1a5907e94c9f40..c2b08dcdbc537fd2d0320542f885ad4e686ad0ee 100644 (file)
@@ -186,6 +186,7 @@ static unsigned long unflatten_dt_node(struct boot_param_header *blob,
                         */
                        fpsize = 1;
                        allocl = 2;
+                       l = 0;
                } else {
                        /* account for '/' and path size minus terminal 0
                         * already in 'l'