linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Zhang Rui <rui.zhang@intel.com>
To: Eduardo Valentin <eduardo.valentin@ti.com>
Cc: durgadoss.r@intel.com, linux-pm@lists.linux-foundation.org,
	linux-pm@vger.kernel.org
Subject: Re: [PATCH RESEND 4/4] thermal: check for invalid trip setup when registering thermal device
Date: Thu, 17 Jan 2013 15:10:37 +0800	[thread overview]
Message-ID: <1358406637.20319.4.camel@rzhang1-mobl4> (raw)
In-Reply-To: <50F6B7B0.90804@ti.com>

On Wed, 2013-01-16 at 16:22 +0200, Eduardo Valentin wrote:
> On 16-01-2013 04:45, Zhang Rui wrote:
> > On Wed, 2013-01-02 at 17:29 +0200, Eduardo Valentin wrote:
> >> 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.
> >>
> >> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
> >> ---
> >>   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);
> >> +
> > Hmmm, I do not think we need this.
> >
> > the sysfs I/F trip_point_X_type already does this check.
> 
> Well that's not the point. If you trust only the sysfs handling, fine. 
> The fix is very punctual. If you pass wrong parameters to 
> thermal_zone_device_register, it will crash.
> 
> Of course, in either case, with or without his patch, it won't register 
> the device, so you won't get to the sysfs handling part. At least with 
> this fix, the crash won't happen and the driver writer will receive an 
> error code to treat.
> 
> Ok. being specific, what happens is that there are accesses to 
> ops->get_trip_type, even if trips > 0 and if .get_trip_type is NULL, 
> right below inside the register function. Instead of checking for 
> .get_trip_type every time before using it, this patch adds a single 
> constraint, so that, if you have trips, you must specify their types.. 
> To me sounds reasonable enough.
> 
agreed.

applied to thermal -next.

thanks,
rui



      reply	other threads:[~2013-01-17  7:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-02 15:29 [PATCH RESEND 0/4] thermal sys: couple of fixes and cleanups Eduardo Valentin
2013-01-02 15:29 ` [PATCH RESEND 1/4] thermal: Use thermal zone device id in netlink messages Eduardo Valentin
2013-01-02 15:48   ` R, Durgadoss
2013-01-02 15:55     ` Eduardo Valentin
2013-01-16  2:43   ` Zhang Rui
2013-01-02 15:29 ` [PATCH RESEND 2/4] thermal: remove unnecessary include Eduardo Valentin
2013-01-02 15:48   ` R, Durgadoss
2013-01-16  2:43   ` Zhang Rui
2013-01-02 15:29 ` [PATCH RESEND 3/4] thermal: cleanup: use dev_* helper functions Eduardo Valentin
2013-01-02 15:51   ` R, Durgadoss
2013-01-16  2:44   ` Zhang Rui
2013-01-02 15:29 ` [PATCH RESEND 4/4] thermal: check for invalid trip setup when registering thermal device Eduardo Valentin
2013-01-02 15:53   ` R, Durgadoss
2013-01-16  2:45   ` Zhang Rui
2013-01-16 14:22     ` Eduardo Valentin
2013-01-17  7:10       ` Zhang Rui [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1358406637.20319.4.camel@rzhang1-mobl4 \
    --to=rui.zhang@intel.com \
    --cc=durgadoss.r@intel.com \
    --cc=eduardo.valentin@ti.com \
    --cc=linux-pm@lists.linux-foundation.org \
    --cc=linux-pm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).