soc: samsung: exynos-asv: Potential NULL dereference in exynos_asv_update_opps()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 29 Oct 2019 18:27:42 +0000 (21:27 +0300)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 30 Oct 2019 18:04:32 +0000 (19:04 +0100)
The dev_pm_opp_get_opp_table() returns error pointers if it's disabled
in the config and it returns NULL if there is an error.  This code only
checks for error pointers so it could lead to an Oops inside the
dev_pm_opp_put_opp_table() function.

Fixes: 5ea428595cc5 ("soc: samsung: Add Exynos Adaptive Supply Voltage driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
drivers/soc/samsung/exynos-asv.c

index 8abf4df..30bb7b7 100644 (file)
@@ -93,7 +93,7 @@ static int exynos_asv_update_opps(struct exynos_asv *asv)
                        continue;
 
                opp_table = dev_pm_opp_get_opp_table(cpu);
-               if (IS_ERR(opp_table))
+               if (IS_ERR_OR_NULL(opp_table))
                        continue;
 
                if (!last_opp_table || opp_table != last_opp_table) {