diff options
author | Tejun Heo <htejun@gmail.com> | 2007-04-07 01:59:41 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-07 13:05:21 -0400 |
commit | 7f30e49ee1c2c1e95ce9d2ccce5221ddb793dd60 (patch) | |
tree | 06af277806d645ce7c970c64c56613b682f071e4 /kernel/irq | |
parent | 995f054f2a342f8505fed4f8395d12c0f5966414 (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.c | 2 |
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 | ||