diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-12 11:02:00 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-09-12 11:02:00 +0100 |
commit | 95779fe8506d4f750f1e66e958b6b3c405182d7a (patch) | |
tree | db674fe9706bb1f54d0147509d17923bc634b7b1 | |
parent | 840ce8f8073edb3ff3d2c2c7a6ef211f4176961c (diff) | |
parent | eddf3e9c7c7e4d0707c68d1bb22cc6ec8aef7d4a (diff) |
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fix from Ingo Molnar:
"Fix a race in the IRQ resend mechanism, which can result in a NULL
dereference crash"
* 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
genirq: Prevent NULL pointer dereference in resend_irqs()
-rw-r--r-- | kernel/irq/resend.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/irq/resend.c b/kernel/irq/resend.c index 95414ad3506a..98c04ca5fa43 100644 --- a/kernel/irq/resend.c +++ b/kernel/irq/resend.c @@ -36,6 +36,8 @@ static void resend_irqs(unsigned long arg) irq = find_first_bit(irqs_resend, nr_irqs); clear_bit(irq, irqs_resend); desc = irq_to_desc(irq); + if (!desc) + continue; local_irq_disable(); desc->handle_irq(desc); local_irq_enable(); |