|
@@ -4041,15 +4041,13 @@ static ssize_t
|
|
|
raid5_store_stripe_cache_size(mddev_t *mddev, const char *page, size_t len)
|
|
|
{
|
|
|
raid5_conf_t *conf = mddev_to_conf(mddev);
|
|
|
- char *end;
|
|
|
- int new;
|
|
|
+ unsigned long new;
|
|
|
if (len >= PAGE_SIZE)
|
|
|
return -EINVAL;
|
|
|
if (!conf)
|
|
|
return -ENODEV;
|
|
|
|
|
|
- new = simple_strtoul(page, &end, 10);
|
|
|
- if (!*page || (*end && *end != '\n') )
|
|
|
+ if (strict_strtoul(page, 10, &new))
|
|
|
return -EINVAL;
|
|
|
if (new <= 16 || new > 32768)
|
|
|
return -EINVAL;
|
|
@@ -4087,17 +4085,15 @@ static ssize_t
|
|
|
raid5_store_preread_threshold(mddev_t *mddev, const char *page, size_t len)
|
|
|
{
|
|
|
raid5_conf_t *conf = mddev_to_conf(mddev);
|
|
|
- char *end;
|
|
|
- int new;
|
|
|
+ unsigned long new;
|
|
|
if (len >= PAGE_SIZE)
|
|
|
return -EINVAL;
|
|
|
if (!conf)
|
|
|
return -ENODEV;
|
|
|
|
|
|
- new = simple_strtoul(page, &end, 10);
|
|
|
- if (!*page || (*end && *end != '\n'))
|
|
|
+ if (strict_strtoul(page, 10, &new))
|
|
|
return -EINVAL;
|
|
|
- if (new > conf->max_nr_stripes || new < 0)
|
|
|
+ if (new > conf->max_nr_stripes)
|
|
|
return -EINVAL;
|
|
|
conf->bypass_threshold = new;
|
|
|
return len;
|