Re: [PATCH v2 1/2] driver core: platform: Clarify that IRQ 0 is invalid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 01, 2020 at 05:40:41PM -0500, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> 
> These interfaces return a negative error number or an IRQ:
> 
>   platform_get_irq()
>   platform_get_irq_optional()
>   platform_get_irq_byname()
>   platform_get_irq_byname_optional()
> 
> The function comments suggest checking for error like this:
> 
>   irq = platform_get_irq(...);
>   if (irq < 0)
>     return irq;
> 
> which is what most callers (~900 of 1400) do, so it's implicit that IRQ 0
> is invalid.  But some callers check for "irq <= 0", and it's not obvious
> from the source that we never return an IRQ 0.
> 
> Make this more explicit by updating the comments to say that an IRQ number
> is always non-zero and adding a WARN() if we ever do return zero.  If we do
> return IRQ 0, it likely indicates a bug in the arch-specific parts of
> platform_get_irq().

I worry about adding WARN() as there are systems that do panic_on_warn()
and syzbot trips over this as well.  I don't think that for this issue
it would be a problem, but what really is this warning about that
someone could do anything with?

Other than that minor thing, this looks good to me, thanks for finally
clearing this up.

greg k-h



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux