aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-04-07 01:59:41 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-04-07 13:05:21 -0400
commit7f30e49ee1c2c1e95ce9d2ccce5221ddb793dd60 (patch)
tree06af277806d645ce7c970c64c56613b682f071e4 /kernel/irq
parent995f054f2a342f8505fed4f8395d12c0f5966414 (diff)
[PATCH] irq-devres: fix failure path of devm_request_irq()
devres should be deallocated with devres_free() not kfree(). This bug corrupts slab on IRQ request failure. Fix it. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Greg KH <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/irq')
-rw-r--r--kernel/irq/devres.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/irq/devres.c b/kernel/irq/devres.c
index 85a430da0fb6..d8ee241115f5 100644
--- a/kernel/irq/devres.c
+++ b/kernel/irq/devres.c
@@ -54,7 +54,7 @@ int devm_request_irq(struct device *dev, unsigned int irq,
54 54
55 rc = request_irq(irq, handler, irqflags, devname, dev_id); 55 rc = request_irq(irq, handler, irqflags, devname, dev_id);
56 if (rc) { 56 if (rc) {
57 kfree(dr); 57 devres_free(dr);
58 return rc; 58 return rc;
59 } 59 }
60 60