Commit 9355aede authored by Vivek Goyal's avatar Vivek Goyal Committed by Jens Axboe

blkio-throttle: limit max iops value to UINT_MAX

- Limit max iops value to UINT_MAX and return error to user if value is more
  than that instead of accepting bigger values and truncating implicitly.
Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
parent 5e901a2b
......@@ -656,10 +656,10 @@ static int blkio_policy_parse_and_set(char *buf,
{
char *s[4], *p, *major_s = NULL, *minor_s = NULL;
int ret;
unsigned long major, minor, temp, iops;
unsigned long major, minor, temp;
int i = 0;
dev_t dev;
u64 bps;
u64 bps, iops;
memset(s, 0, sizeof(s));
......@@ -731,13 +731,16 @@ static int blkio_policy_parse_and_set(char *buf,
break;
case BLKIO_THROTL_read_iops_device:
case BLKIO_THROTL_write_iops_device:
ret = strict_strtoul(s[1], 10, &iops);
ret = strict_strtoull(s[1], 10, &iops);
if (ret)
return -EINVAL;
if (iops > THROTL_IOPS_MAX)
return -EINVAL;
newpn->plid = plid;
newpn->fileid = fileid;
newpn->val.iops = iops;
newpn->val.iops = (unsigned int)iops;
break;
}
break;
......
......@@ -20,6 +20,9 @@ enum blkio_policy_id {
BLKIO_POLICY_THROTL, /* Throttling */
};
/* Max limits for throttle policy */
#define THROTL_IOPS_MAX UINT_MAX
#if defined(CONFIG_BLK_CGROUP) || defined(CONFIG_BLK_CGROUP_MODULE)
#ifndef CONFIG_BLK_CGROUP
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment