[PATCH] soc: samsung: exynos-asv: Potential NULL dereference in exynos_asv_update_opps()

From: Dan Carpenter
Date: Tue Oct 29 2019 - 14:28:02 EST


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@xxxxxxxxxx>
---
When we add a new driver, could we specify the which prefix will be used
going forward? In other words commit 5ea428595cc5 could have the
prefix "soc: samsung: exynos-asv: Add Exynos Adaptive Supply Voltage
driver". The "exynos-asv" bit was missing so the first person to send a
fix has to guess what is desired.

drivers/soc/samsung/exynos-asv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/soc/samsung/exynos-asv.c b/drivers/soc/samsung/exynos-asv.c
index 8abf4dfaa5c5..30bb7b7cc769 100644
--- a/drivers/soc/samsung/exynos-asv.c
+++ b/drivers/soc/samsung/exynos-asv.c
@@ -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) {
--
2.20.1