if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
 
-       err = strict_strtoul(buf, 10, &tmp);
-       if (err || ((tmp != 0) && (tmp != 1)))
+       err = kstrtoul(buf, 10, &tmp);
+       if (err)
+               return err;
+       if ((tmp != 0) && (tmp != 1))
                return -EINVAL;
 
        xen_selfballooning_enabled = !!tmp;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        selfballoon_interval = val;
        return count;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        selfballoon_downhysteresis = val;
        return count;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        selfballoon_uphysteresis = val;
        return count;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        selfballoon_min_usable_mb = val;
        return count;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        selfballoon_reserved_mb = val;
        return count;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &tmp);
-       if (err || ((tmp != 0) && (tmp != 1)))
+       err = kstrtoul(buf, 10, &tmp);
+       if (err)
+               return err;
+       if ((tmp != 0) && (tmp != 1))
                return -EINVAL;
        frontswap_selfshrinking = !!tmp;
        if (!was_enabled && !xen_selfballooning_enabled &&
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        frontswap_inertia = val;
        frontswap_inertia_counter = val;
 
        if (!capable(CAP_SYS_ADMIN))
                return -EPERM;
-       err = strict_strtoul(buf, 10, &val);
-       if (err || val == 0)
+       err = kstrtoul(buf, 10, &val);
+       if (err)
+               return err;
+       if (val == 0)
                return -EINVAL;
        frontswap_hysteresis = val;
        return count;