2012-11-16 15:14:48

by Catalin Marinas

[permalink] [raw]
Subject: [PATCH] of/fdt: NULL-terminate the root node path

From: Benjamin Herrenschmidt <[email protected]>

Commit 509b7455 (of/fdt: Don't copy garbage after "/" in root node path)
sets the path length to 0 to ignore any garbage after "/" in the root
node path. This has the side effect of also ignoring '\0' at the end of
the root node path. This patch sets the ignores the garbage by setting
the last character to '\0' and length to 1.

Signed-off-by: Catalin Marinas <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Rob Herring <[email protected]>
---

The patch is against linux-next, not sure whether mainline will get the
same commit number. Please feel free to fold it into the original patch,
whichever is easier. Without this I can't boot arm64, doesn't populate
the platform devices.

drivers/of/fdt.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 73fb8c0..d9b2207 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -186,7 +186,8 @@ static unsigned long unflatten_dt_node(struct boot_param_header *blob,
*/
fpsize = 1;
allocl = 2;
- l = 0;
+ l = 1;
+ *pathp = '\0';
} else {
/* account for '/' and path size minus terminal 0
* already in 'l'


2012-11-16 15:16:18

by Catalin Marinas

[permalink] [raw]
Subject: Re: [PATCH] of/fdt: NULL-terminate the root node path

On Fri, Nov 16, 2012 at 03:14:38PM +0000, Catalin Marinas wrote:
> From: Benjamin Herrenschmidt <[email protected]>

Ah, this shouldn't have been here. git commit -c set the author as well.

> Commit 509b7455 (of/fdt: Don't copy garbage after "/" in root node path)
> sets the path length to 0 to ignore any garbage after "/" in the root
> node path. This has the side effect of also ignoring '\0' at the end of
> the root node path. This patch sets the ignores the garbage by setting
> the last character to '\0' and length to 1.
>
> Signed-off-by: Catalin Marinas <[email protected]>
> Cc: Benjamin Herrenschmidt <[email protected]>
> Cc: Rob Herring <[email protected]>
> ---
>
> The patch is against linux-next, not sure whether mainline will get the
> same commit number. Please feel free to fold it into the original patch,
> whichever is easier. Without this I can't boot arm64, doesn't populate
> the platform devices.
>
> drivers/of/fdt.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index 73fb8c0..d9b2207 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -186,7 +186,8 @@ static unsigned long unflatten_dt_node(struct boot_param_header *blob,
> */
> fpsize = 1;
> allocl = 2;
> - l = 0;
> + l = 1;
> + *pathp = '\0';
> } else {
> /* account for '/' and path size minus terminal 0
> * already in 'l'

2012-11-16 15:38:30

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH] of/fdt: NULL-terminate the root node path

On 11/16/2012 09:16 AM, Catalin Marinas wrote:
> On Fri, Nov 16, 2012 at 03:14:38PM +0000, Catalin Marinas wrote:
>> From: Benjamin Herrenschmidt <[email protected]>
>
> Ah, this shouldn't have been here. git commit -c set the author as well.

I'll fix that and apply. Thanks.

Rob

>
>> Commit 509b7455 (of/fdt: Don't copy garbage after "/" in root node path)
>> sets the path length to 0 to ignore any garbage after "/" in the root
>> node path. This has the side effect of also ignoring '\0' at the end of
>> the root node path. This patch sets the ignores the garbage by setting
>> the last character to '\0' and length to 1.
>>
>> Signed-off-by: Catalin Marinas <[email protected]>
>> Cc: Benjamin Herrenschmidt <[email protected]>
>> Cc: Rob Herring <[email protected]>
>> ---
>>
>> The patch is against linux-next, not sure whether mainline will get the
>> same commit number. Please feel free to fold it into the original patch,
>> whichever is easier. Without this I can't boot arm64, doesn't populate
>> the platform devices.
>>
>> drivers/of/fdt.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
>> index 73fb8c0..d9b2207 100644
>> --- a/drivers/of/fdt.c
>> +++ b/drivers/of/fdt.c
>> @@ -186,7 +186,8 @@ static unsigned long unflatten_dt_node(struct boot_param_header *blob,
>> */
>> fpsize = 1;
>> allocl = 2;
>> - l = 0;
>> + l = 1;
>> + *pathp = '\0';
>> } else {
>> /* account for '/' and path size minus terminal 0
>> * already in 'l'
>