Re: [PATCH v8 7/9] scsi: ibmvfc: fix IRQ leak and guard deregister on channel reg failure

From: Tyrel Datwyler

Date: Thu Sep 10 2026 - 19:22:41 EST


On 9/9/26 12:08 PM, Dave Marquardt via B4 Relay wrote:
> From: Dave Marquardt <davemarq@xxxxxxxxxxxxx>
>
> If request_irq() fails during ibmvfc_register_channel(), the error path
> disposes of the IRQ mapping via irq_dispose_mapping() but leaves scrq->irq
> populated with the stale virq number. A subsequent call to
> ibmvfc_deregister_channel() during teardown or reset cleanup then
> unconditionally invokes free_irq() and irq_dispose_mapping() on the stale
> IRQ descriptor, triggering kernel warnings.
>
> Fix this by:
> 1. Explicitly setting scrq->irq to 0 after irq_dispose_mapping() in the
> ibmvfc_register_channel() error path.
> 2. Guarding free_irq() and irq_dispose_mapping() with a check for scrq->irq
> in ibmvfc_deregister_channel() so unmapped or unregistered queues are
> safely skipped.
>
> Signed-off-by: Dave Marquardt <davemarq@xxxxxxxxxxxxx>
> ---
Acked-by: Tyrel Datwyler <tyreld@xxxxxxxxxxxxx>