On 21 March 2012 19:43, Jean Delvare <khali@xxxxxxxxxxxx> wrote: > 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. Thanks for pointing this out. Anyway this patch makes some sense until sysfs takes care of this. > > Acked-by: Jean Delvare <khali@xxxxxxxxxxxx> > > 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@xxxxxxxxxx> >> --- >> 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 _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/linux-pm