> -----Original Message----- > From: linux-pm-owner@xxxxxxxxxxxxxxx [mailto:linux-pm- > owner@xxxxxxxxxxxxxxx] On Behalf Of Eduardo Valentin > Sent: Wednesday, January 02, 2013 9:00 PM > To: Zhang, Rui > Cc: R, Durgadoss; linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux- > pm@xxxxxxxxxxxxxxx; Eduardo Valentin > Subject: [PATCH RESEND 4/4] thermal: check for invalid trip setup when > registering thermal device > > This patch adds an extra check in the data structure while registering > a thermal device. The check is to avoid registering zones with a number > of trips greater than zero, but with no .get_trip_temp nor .get_trip_type > callbacks. Receiving such data structure may end in wrong data access. Yes, agreed. we are moving away from this API too :-( But Nothing hurts to have this fix. So, Reviewed-by: Durgadoss R <durgadoss.r@xxxxxxxxx> Thanks, Durga > > Signed-off-by: Eduardo Valentin <eduardo.valentin@xxxxxx> > --- > drivers/thermal/thermal_sys.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c > index fba27c3..0a1bf6b 100644 > --- a/drivers/thermal/thermal_sys.c > +++ b/drivers/thermal/thermal_sys.c > @@ -1530,6 +1530,9 @@ struct thermal_zone_device > *thermal_zone_device_register(const char *type, > if (!ops || !ops->get_temp) > return ERR_PTR(-EINVAL); > > + if (trips > 0 && !ops->get_trip_type) > + return ERR_PTR(-EINVAL); > + > tz = kzalloc(sizeof(struct thermal_zone_device), GFP_KERNEL); > if (!tz) > return ERR_PTR(-ENOMEM); > -- > 1.7.7.1.488.ge8e1c > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pm" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html