From: Eduardo Valentin <eduardo.valentin@ti.com>
To: Zhang Rui <rui.zhang@intel.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: Wed, 16 Jan 2013 16:22:40 +0200 [thread overview]
Message-ID: <50F6B7B0.90804@ti.com> (raw)
In-Reply-To: <1358304336.2252.27.camel@rzhang1-mobl4>
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.
>
> thanks,
> rui
>
next prev parent reply other threads:[~2013-01-16 14:22 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 [this message]
2013-01-17 7:10 ` Zhang Rui
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=50F6B7B0.90804@ti.com \
--to=eduardo.valentin@ti.com \
--cc=durgadoss.r@intel.com \
--cc=linux-pm@lists.linux-foundation.org \
--cc=linux-pm@vger.kernel.org \
--cc=rui.zhang@intel.com \
/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).