Re: OF-related boot crash in 3.3.0-rc3-00188-g3ec1e88

From: Grant Likely
Date: Mon Feb 13 2012 - 21:42:56 EST


On Mon, Feb 13, 2012 at 7:30 PM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
> On Mon, Feb 13, 2012 at 5:58 PM, David Miller <davem@xxxxxxxxxxxxx> wrote:
>> From: Grant Likely <grant.likely@xxxxxxxxxxxx>
>> Date: Mon, 13 Feb 2012 14:46:23 -0700
>>
>>> Ugh; that looks bad.  If it failed there, then the global device node list
>>> is corrupted.  I hate to ask you this, but would you be able to git bisect to
>>> narrow down the commit that causes the problem?
>>
>> Wild guess on all of these bugs, bad OF node reference counting and a
>> OF node is free'd up prematurely.
>>
>> If you look at the sparc code that has been subsumed into the generic
>> drivers/of/ stuff over the past few years, you'll see that we never
>> consistently did any of the reference counting bits on the sparc side.
>
> Hmmm.... The of_node_put() code path shouldn't exist on sparc.  You'll
> see that it is #ifdef'd out in include/linux/of.h.  Plus, only
> 'OF_DETACHED' nodes are allowed to be released, an there are only 3
> code paths (all calling of_detach_node()) specific to powerpc that can
> detach a node.

In fact, I should disable those paths always when CONFIG_OF_DYNAMIC is
disabled. I'll look into doing so for v3.4.

g.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/