Re: [PATCH v3 11/15] livepatch: use kstrtobool() in enabled_store()
On Fri, 16 Dec 2016, Josh Poimboeuf wrote: > On Fri, Dec 16, 2016 at 05:55:55PM +0100, Petr Mladek wrote: > > On Thu 2016-12-08 12:08:36, Josh Poimboeuf wrote: > > > The sysfs enabled value is a boolean, so kstrtobool() is a better fit > > > for parsing the input string since it does the range checking for us. > > > > > > Suggested-by: Petr Mladek> > > Signed-off-by: Josh Poimboeuf > > > --- > > > kernel/livepatch/core.c | 11 --- > > > 1 file changed, 4 insertions(+), 7 deletions(-) > > > > > > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c > > > index 6a137e1..8ca8a0e 100644 > > > --- a/kernel/livepatch/core.c > > > +++ b/kernel/livepatch/core.c > > > @@ -408,26 +408,23 @@ static ssize_t enabled_store(struct kobject *kobj, > > > struct kobj_attribute *attr, > > > { > > > struct klp_patch *patch; > > > int ret; > > > - unsigned long val; > > > + bool enabled; > > > > > > - ret = kstrtoul(buf, 10, ); > > > + ret = kstrtobool(buf, ); > > > if (ret) > > > return -EINVAL; > > > > I would return "ret" here. It is -EINVAL as well but... ;-) > > That was a preexisting issue with the kstrtoul() return code, but I'll > sneak your suggested change into this patch if nobody objects. Fine with me. Acked-by: Miroslav Benes Miroslav
Re: [PATCH v3 11/15] livepatch: use kstrtobool() in enabled_store()
On Fri, Dec 16, 2016 at 05:55:55PM +0100, Petr Mladek wrote: > On Thu 2016-12-08 12:08:36, Josh Poimboeuf wrote: > > The sysfs enabled value is a boolean, so kstrtobool() is a better fit > > for parsing the input string since it does the range checking for us. > > > > Suggested-by: Petr Mladek> > Signed-off-by: Josh Poimboeuf > > --- > > kernel/livepatch/core.c | 11 --- > > 1 file changed, 4 insertions(+), 7 deletions(-) > > > > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c > > index 6a137e1..8ca8a0e 100644 > > --- a/kernel/livepatch/core.c > > +++ b/kernel/livepatch/core.c > > @@ -408,26 +408,23 @@ static ssize_t enabled_store(struct kobject *kobj, > > struct kobj_attribute *attr, > > { > > struct klp_patch *patch; > > int ret; > > - unsigned long val; > > + bool enabled; > > > > - ret = kstrtoul(buf, 10, ); > > + ret = kstrtobool(buf, ); > > if (ret) > > return -EINVAL; > > I would return "ret" here. It is -EINVAL as well but... ;-) That was a preexisting issue with the kstrtoul() return code, but I'll sneak your suggested change into this patch if nobody objects. > Anyway, feel free to use: > > Reviewed-by: Petr Mladek > > Best Regards, > Petr -- Josh
Re: [PATCH v3 11/15] livepatch: use kstrtobool() in enabled_store()
On Thu 2016-12-08 12:08:36, Josh Poimboeuf wrote: > The sysfs enabled value is a boolean, so kstrtobool() is a better fit > for parsing the input string since it does the range checking for us. > > Suggested-by: Petr Mladek> Signed-off-by: Josh Poimboeuf > --- > kernel/livepatch/core.c | 11 --- > 1 file changed, 4 insertions(+), 7 deletions(-) > > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c > index 6a137e1..8ca8a0e 100644 > --- a/kernel/livepatch/core.c > +++ b/kernel/livepatch/core.c > @@ -408,26 +408,23 @@ static ssize_t enabled_store(struct kobject *kobj, > struct kobj_attribute *attr, > { > struct klp_patch *patch; > int ret; > - unsigned long val; > + bool enabled; > > - ret = kstrtoul(buf, 10, ); > + ret = kstrtobool(buf, ); > if (ret) > return -EINVAL; I would return "ret" here. It is -EINVAL as well but... ;-) Anyway, feel free to use: Reviewed-by: Petr Mladek Best Regards, Petr
[PATCH v3 11/15] livepatch: use kstrtobool() in enabled_store()
The sysfs enabled value is a boolean, so kstrtobool() is a better fit for parsing the input string since it does the range checking for us. Suggested-by: Petr MladekSigned-off-by: Josh Poimboeuf --- kernel/livepatch/core.c | 11 --- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c index 6a137e1..8ca8a0e 100644 --- a/kernel/livepatch/core.c +++ b/kernel/livepatch/core.c @@ -408,26 +408,23 @@ static ssize_t enabled_store(struct kobject *kobj, struct kobj_attribute *attr, { struct klp_patch *patch; int ret; - unsigned long val; + bool enabled; - ret = kstrtoul(buf, 10, ); + ret = kstrtobool(buf, ); if (ret) return -EINVAL; - if (val > 1) - return -EINVAL; - patch = container_of(kobj, struct klp_patch, kobj); mutex_lock(_mutex); - if (patch->enabled == val) { + if (patch->enabled == enabled) { /* already in requested state */ ret = -EINVAL; goto err; } - if (val) { + if (enabled) { ret = __klp_enable_patch(patch); if (ret) goto err; -- 2.7.4