Re: [PATCH] block/cpqarray.c: remove IRQF_DISABLED flag

From: Ingo Molnar
Date: Tue Mar 03 2015 - 03:38:04 EST



* Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, 27 Feb 2015 13:32:55 +0100 Valentin Rothberg <Valentin.Rothberg@xxxxxxx> wrote:
>
> > The IRQF_DISABLED is a NOOP and scheduled to be removed. According to
> > Ingo Molnar (e58aa3d2d0cc01ad8d6f7f640a0670433f794922) running IRQ
> > handlers with interrupts enabled can cause stack overflows when the
> > interrupt line of the issuing device is still active.
> >
>
> I suggest you prepare a patch which removes IRQF_DISABLED entirely.

Yes.

> Several drivers still use it and it is possible that they have been
> buggy for some time, [...]

Well, IRQF_DISABLED is now the unconditional default, so requesting
irqs with IRQF_DISABLED is simply superfluous, not buggy, AFAICS.

> [...] so we should be careful to cc the relevant maintainers (they
> probably don't exist) so they can check out what's going on in their
> code.

I think part of it might be the stale spinlock related comment in
Documentation/PCI/MSI-HOWTO.txt which explicitly recommends
IRQF_DISABLED use. So that reference should be zapped as well.

So maybe drivers still using IRQF_DISABLED might not be potentially
broken drivers at all, but are drivers written by exceptionally
capable driver authors, who read kernel documentation!

Thanks,

Ingo
--
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/