Re: [PATCH] thermal: ti-soc-thermal: Potential error pointer dereferences

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2017-08-11 at 10:55 +0300, Dan Carpenter wrote:
> On Fri, Aug 11, 2017 at 10:00:33AM +0800, Zhang Rui wrote:
> > 
> > On Mon, 2017-07-10 at 10:24 +0300, Dan Carpenter wrote:
> > > 
> > > ti_bandgap_get_sensor_data() can return error pointers so we
> > > should
> > > check for that.  There is no need to check "data->ti_thermal" for
> > > NULL
> > > and we removed that from the other cleanup function so we may as
> > > well
> > > from it in ti_thermal_remove_sensor() to be consistent.
> > > 
> > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> > > 
> > > diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > > b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > > index c211a8e4a210..9fea354ca90c 100644
> > > --- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > > +++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
> > > @@ -210,7 +210,7 @@ int ti_thermal_remove_sensor(struct
> > > ti_bandgap
> > > *bgp, int id)
> > >  
> > >  	data = ti_bandgap_get_sensor_data(bgp, id);
> > >  
> > > -	if (data && data->ti_thermal) {
> > > +	if (data && !IS_ERR(data)) {
> > what about
> > 	if (!IS_ERR_OR_NULL(data))
> > 
> Duh.  Of course, let me resend.

that's okay, patch has been updated and applied.

>From 474b6dbed714ff5786a0d4ae084717bb75bc7169 Mon Sep 17 00:00:00 2001
From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Date: Mon, 10 Jul 2017 10:24:23 +0300
Subject: [PATCH] thermal: ti-soc-thermal: Potential error pointer dereferences

ti_bandgap_get_sensor_data() can return error pointers so we should
check for that.  There is no need to check "data->ti_thermal" for NULL
and we removed that from the other cleanup function so we may as well
from it in ti_thermal_remove_sensor() to be consistent.

Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx>
---
 drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
index c211a8e..92b3207 100644
--- a/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
+++ b/drivers/thermal/ti-soc-thermal/ti-thermal-common.c
@@ -210,7 +210,7 @@ int ti_thermal_remove_sensor(struct ti_bandgap *bgp, int id)
 
 	data = ti_bandgap_get_sensor_data(bgp, id);
 
-	if (data && data->ti_thermal) {
+	if (!IS_ERR_OR_NULL(data)) {
 		if (data->our_zone)
 			thermal_zone_device_unregister(data->ti_thermal);
 	}
@@ -276,7 +276,7 @@ int ti_thermal_unregister_cpu_cooling(struct ti_bandgap *bgp, int id)
 
 	data = ti_bandgap_get_sensor_data(bgp, id);
 
-	if (data) {
+	if (!IS_ERR_OR_NULL(data)) {
 		cpufreq_cooling_unregister(data->cool_dev);
 		cpufreq_cpu_put(data->policy);
 	}
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux