OSDN Git Service

livepatch: use kstrtobool() in enabled_store()
authorJosh Poimboeuf <jpoimboe@redhat.com>
Tue, 14 Feb 2017 01:42:38 +0000 (19:42 -0600)
committerJiri Kosina <jkosina@suse.cz>
Wed, 8 Mar 2017 08:23:52 +0000 (09:23 +0100)
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 <pmladek@suse.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Miroslav Benes <mbenes@suse.cz>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
kernel/livepatch/core.c

index 6a137e1..83c4949 100644 (file)
@@ -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, &val);
+       ret = kstrtobool(buf, &enabled);
        if (ret)
-               return -EINVAL;
-
-       if (val > 1)
-               return -EINVAL;
+               return ret;
 
        patch = container_of(kobj, struct klp_patch, kobj);
 
        mutex_lock(&klp_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;