浏览代码

[PATCH] warn if free_irq() is called from IRQ context

Warn if free_irq() is called in IRQ context - free_irq() can execute /proc
VFS work, which must not be done in IRQ context.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar 19 年之前
父节点
当前提交
cd7b24bb18
共有 1 个文件被更改,包括 1 次插入0 次删除
  1. 1 0
      kernel/irq/manage.c

+ 1 - 0
kernel/irq/manage.c

@@ -271,6 +271,7 @@ void free_irq(unsigned int irq, void *dev_id)
 	struct irqaction **p;
 	struct irqaction **p;
 	unsigned long flags;
 	unsigned long flags;
 
 
+	WARN_ON(in_interrupt());
 	if (irq >= NR_IRQS)
 	if (irq >= NR_IRQS)
 		return;
 		return;