[PATCH 09/20] of/fdt: create common debugfs

Rob Herring robherring2 at gmail.com
Sat Apr 5 00:32:41 EST 2014


On Fri, Apr 4, 2014 at 8:22 AM, Michal Simek <monstr at monstr.eu> wrote:
> On 04/04/2014 03:00 PM, Rob Herring wrote:
>> On Fri, Apr 4, 2014 at 7:16 AM, Michal Simek <monstr at monstr.eu> wrote:
>>> On 04/04/2014 12:16 AM, Rob Herring wrote:
>>>> From: Rob Herring <robh at kernel.org>
>>>>
>>>> Both powerpc and microblaze have the same FDT blob in debugfs feature.
>>>> Move this to common location and remove the powerpc and microblaze
>>>> implementations. This feature could become more useful when FDT
>>>> overlay support is added.
>>
>> [snip]

> Anyway I am testing it for microblaze and getting problem
> caused by this patch:
> commit 3d2ee8571ac0580d49c3f41fa28336289934900a
> Author: Rob Herring <robh at kernel.org>
> Date:   Wed Apr 2 15:10:14 2014 -0500
>
>     of/fdt: Convert FDT functions to use libfdt
>
> And reason is that in unflatten_dt_node()
>
> pathp = fdt_get_name(blob, *poffset, &l);
>
> is returning NULL
> and here
>         /* version 0x10 has a more compact unit name here instead of the full
>          * path. we accumulate the full path size using "fpsize", we'll rebuild
>          * it later. We detect this because the first character of the name is
>          * not '/'.
>          */
>         if ((*pathp) != '/') {
>
> code is trying to read it which is causing this kernel bug:
> Oops: kernel access of bad area, sig: 11
>
> It means fdt_next_node(is doing something wrong)
>
> Any easy way how to debug it?

I didn't think fdt_get_path should fail. Can you add a print of
*poffset and pathp values.

Rob


More information about the Linuxppc-dev mailing list