Re: [PATCH 1/2] genirq: irq_pipeline: Don't run handlers of disabled lines on replay
Philippe Gerum <[email protected]> Thu, 23 Jul 2026 16:23:17 +0200
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <[email protected]> |
Hi Richard, Richard Weinberger <[email protected]> writes: > The pipelined handle_level_irq() function only checks unsing irq_can_handle() > on the IRQ_FLOW_START path, assuming that an event which reaches > the in-band replay path already passed this check when it was deferred > at pipeline entry. > This assumption does not hold for interrupts demultiplexed by an > in-band parent action handler. > > This was observed on qcom hardware, the qcom-ipcc summary interrupt is > an in-band line, hence its demux handler runs from the replay path. > qcom_glink_smem requests its child IPCC interrupt with IRQF_NO_AUTOEN > and only enables it once smem->glink has been assigned, but the demux > delivered the interrupt early, dereferencing the still-NULL pointer: > Nice catch, merged, thanks. -- Philippe.