[PATCH] gpio: langwell: Prevent possible NULL pointer dereference in the demux handler.

From: Krzysztof Wilczynski
Date: Sun May 06 2012 - 12:25:42 EST


This is to address a possible NULL pointer dereference on a platform that might
use this driver but its underlying IRQ chip does not provide an irq_eoi callback.

A commit 0766d20 added an conditional to the code, but then it was later
super-seeded by commit 20e2aa9 which introduced number of helper functions
for accessing various members of the irq_desc struct, but removed said
conditional from the code.

This change will re-introduce conditional guarding against possible NULL
pointer dereference caused by missing EIO handler.

Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@xxxxxxxxx>
---
drivers/gpio/gpio-langwell.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/gpio/gpio-langwell.c b/drivers/gpio/gpio-langwell.c
index 00692e8..5749738 100644
--- a/drivers/gpio/gpio-langwell.c
+++ b/drivers/gpio/gpio-langwell.c
@@ -260,7 +260,8 @@ static void lnw_irq_handler(unsigned irq, struct irq_desc *desc)
}
}

- chip->irq_eoi(data);
+ if (data)
+ chip->irq_eoi(data);
}

#ifdef CONFIG_PM
--
1.7.2.5

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