From: Olaf Hering Date: Tue, 26 Sep 2006 20:28:36 +0000 (+0200) Subject: [POWERPC] Avoid NULL pointer in gpio1_interrupt X-Git-Tag: firefly_0821_release~32593^2~2 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=61e37ca22b717a9edc3e5e7c7f3603fad464c76d;p=firefly-linux-kernel-4.4.55.git [POWERPC] Avoid NULL pointer in gpio1_interrupt gpio1_interrupt() may dereference a NULL pointer if ioremap() fails. But, maybe no gpio interrupt happens in the first place? Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras --- diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c index dda03985dcf5..5710e01cef10 100644 --- a/drivers/macintosh/via-pmu.c +++ b/drivers/macintosh/via-pmu.c @@ -336,8 +336,10 @@ int __init find_via_pmu(void) if (gaddr != OF_BAD_ADDR) gpio_reg = ioremap(gaddr, 0x10); } - if (gpio_reg == NULL) + if (gpio_reg == NULL) { printk(KERN_ERR "via-pmu: Can't find GPIO reg !\n"); + goto fail_gpio; + } } else pmu_kind = PMU_UNKNOWN; @@ -365,6 +367,9 @@ int __init find_via_pmu(void) return 1; fail: of_node_put(vias); + iounmap(gpio_reg); + gpio_reg = NULL; + fail_gpio: vias = NULL; return 0; }