Re: [PATCH v2] of/irq: Make sure to update out_irq->np to the new parent in of_irq_parse_raw

From: WHR
Date: Thu Aug 01 2024 - 00:16:12 EST


> On Mon, Jul 29, 2024 at 11:54 PM WHR <whr@xxxxxxxxxxx> wrote:
>>
>> Commit 935df1bd40d43c4ee91838c42a20e9af751885cc has removed an
>> assignment statement for 'out_irq->np' right after label 'skiplevel',
>> causing the new parent acquired from function of_irq_find_parent didn't
>> being stored to 'out_irq->np' as it supposed to. Under some conditions
>> this can resuit in multiple corruptions and leakages to device nodes.
>
> Under what conditions? Please provide a specific platform and DT.

I have a previous email sent to you before I came up with the fix. The kernel
log for debugging and the device tree blob are attached again.

> Honestly, I think the DT is wrong if you get to this point. We'd have
> to have the initial interrupt parent with #interrupt-cells, but not an
> interrupt-controller nor interrupt-map property to get here. Maybe
> that happens in some ancient platform, but if so, I want to know which
> one and what exactly we need to handle.

So you suggest the #interrupt-cells is erroneous in that node, and should be
removed?

This is a device vendor-provided DT, so any issue in it will have to be fixed
locally.