ARM: EXYNOS: Avoid potential invalid genpd pointer dereference
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Mon, 5 Aug 2013 14:10:52 +0000 (16:10 +0200)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:44:44 +0000 (11:44 +0900)
dev_to_gend() may return an invalid pointer. Make
exynos_remove_device_from_domain() function return and do
nothing is such case. This prevents an invalid pointer
dereference further in the function.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
arch/arm/mach-exynos/pm_domains.c

index 9f1351d..435e396 100644 (file)
@@ -107,6 +107,9 @@ static void exynos_remove_device_from_domain(struct device *dev)
        struct generic_pm_domain *genpd = dev_to_genpd(dev);
        int ret;
 
+       if (IS_ERR(genpd))
+               return;
+
        dev_dbg(dev, "removing from power domain %s\n", genpd->name);
 
        while (1) {