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 <pmla...@suse.com>
Signed-off-by: Josh Poimboeuf <jpoim...@redhat.com>
---
 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, &val);
+       ret = kstrtobool(buf, &enabled);
        if (ret)
                return -EINVAL;
 
-       if (val > 1)
-               return -EINVAL;
-
        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;
-- 
2.7.4

Reply via email to