Re: [PATCH v3 11/15] livepatch: use kstrtobool() in enabled_store()

2016-12-23 Thread Miroslav Benes
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()

2016-12-16 Thread Josh Poimboeuf
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()

2016-12-16 Thread Petr Mladek
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()

2016-12-08 Thread Josh Poimboeuf
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;
 
-   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