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 8abf4dfaa5c59d72307b60c0e7fb183a53edf2a7..30bb7b7cc7698af844de6b675961259341e7478a 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) {