[PATCH] thermal: Fix for setting the thermal zone mode to enable/disable
Jean Delvare
khali at linux-fr.org
Wed Mar 21 14:13:57 UTC 2012
On Wed, 21 Mar 2012 16:40:01 +0530, Amit Daniel Kachhap wrote:
> Basically without this patch changing the mode of thermal zone
> is not possible as wrong string size is passed to strncmp.
Actually it is possible,
$ echo -n disabled > mode
works fine. But it fails without the -n, your patch would fix that.
Acked-by: Jean Delvare <khali at linux-fr.org>
Note that a quick grep suggests that drivers/misc/ad525x_dpot.c,
security/selinux/hooks.c and arch/m68k/sun3/prom/console.c suffer from
the same issue, if you want to fix them too.
> Signed-off-by: Amit Daniel Kachhap <amit.kachhap at linaro.org>
> ---
> drivers/thermal/thermal_sys.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
> index 220ce7e..96da1af 100644
> --- a/drivers/thermal/thermal_sys.c
> +++ b/drivers/thermal/thermal_sys.c
> @@ -152,9 +152,9 @@ mode_store(struct device *dev, struct device_attribute *attr,
> if (!tz->ops->set_mode)
> return -EPERM;
>
> - if (!strncmp(buf, "enabled", sizeof("enabled")))
> + if (!strncmp(buf, "enabled", sizeof("enabled") - 1))
> result = tz->ops->set_mode(tz, THERMAL_DEVICE_ENABLED);
> - else if (!strncmp(buf, "disabled", sizeof("disabled")))
> + else if (!strncmp(buf, "disabled", sizeof("disabled") - 1))
> result = tz->ops->set_mode(tz, THERMAL_DEVICE_DISABLED);
> else
> result = -EINVAL;
--
Jean Delvare
More information about the linaro-dev
mailing list