]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: comedi: comedi_fops: Removed int overflow check
authorFlorian Schmaus <fschmaus@gmail.com>
Thu, 8 Dec 2011 11:12:45 +0000 (12:12 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 8 Dec 2011 23:59:09 +0000 (15:59 -0800)
This became unnecessary with the previous commit.
Improved the readability of the remaining check, by using UINT_MAX.

Signed-off-by: Florian Schmaus <fschmaus@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/comedi/comedi_fops.c

index 60200b46be0bf59c9dee6c51c2a3345a801c4774..15877fb0a363d3c8c70fdfc5f7a8b3522cdc8635 100644 (file)
@@ -2430,7 +2430,7 @@ static ssize_t store_max_read_buffer_kb(struct device *dev,
 {
        struct comedi_device_file_info *info = dev_get_drvdata(dev);
        unsigned int new_max_size_kb;
-       uint64_t new_max_size;
+       unsigned int new_max_size;
        int ret;
        struct comedi_subdevice *const read_subdevice =
            comedi_get_read_subdevice(info);
@@ -2438,11 +2438,9 @@ static ssize_t store_max_read_buffer_kb(struct device *dev,
        ret = kstrtouint(buf, 10, &new_max_size_kb);
        if (ret)
                return ret;
-       if (new_max_size_kb != (uint32_t) new_max_size_kb)
-               return -EINVAL;
-       new_max_size = ((uint64_t) new_max_size_kb) * bytes_per_kibi;
-       if (new_max_size != (uint32_t) new_max_size)
+       if (new_max_size_kb > (UINT_MAX / bytes_per_kibi))
                return -EINVAL;
+       new_max_size = new_max_size_kb * bytes_per_kibi;
 
        mutex_lock(&info->device->mutex);
        if (read_subdevice == NULL ||
@@ -2493,7 +2491,7 @@ static ssize_t store_read_buffer_kb(struct device *dev,
 {
        struct comedi_device_file_info *info = dev_get_drvdata(dev);
        unsigned int new_size_kb;
-       uint64_t new_size;
+       unsigned int new_size;
        int retval;
        int ret;
        struct comedi_subdevice *const read_subdevice =
@@ -2502,11 +2500,9 @@ static ssize_t store_read_buffer_kb(struct device *dev,
        ret = kstrtouint(buf, 10, &new_size_kb);
        if (ret)
                return ret;
-       if (new_size_kb != (uint32_t) new_size_kb)
-               return -EINVAL;
-       new_size = ((uint64_t) new_size_kb) * bytes_per_kibi;
-       if (new_size != (uint32_t) new_size)
+       if (new_size_kb > (UINT_MAX / bytes_per_kibi))
                return -EINVAL;
+       new_size = new_size_kb * bytes_per_kibi;
 
        mutex_lock(&info->device->mutex);
        if (read_subdevice == NULL ||
@@ -2561,7 +2557,7 @@ static ssize_t store_max_write_buffer_kb(struct device *dev,
 {
        struct comedi_device_file_info *info = dev_get_drvdata(dev);
        unsigned int new_max_size_kb;
-       uint64_t new_max_size;
+       unsigned int new_max_size;
        int ret;
        struct comedi_subdevice *const write_subdevice =
            comedi_get_write_subdevice(info);
@@ -2569,11 +2565,9 @@ static ssize_t store_max_write_buffer_kb(struct device *dev,
        ret = kstrtouint(buf, 10, &new_max_size_kb);
        if (ret)
                return ret;
-       if (new_max_size_kb != (uint32_t) new_max_size_kb)
-               return -EINVAL;
-       new_max_size = ((uint64_t) new_max_size_kb) * bytes_per_kibi;
-       if (new_max_size != (uint32_t) new_max_size)
+       if (new_max_size_kb > (UINT_MAX / bytes_per_kibi))
                return -EINVAL;
+       new_max_size = new_max_size_kb * bytes_per_kibi;
 
        mutex_lock(&info->device->mutex);
        if (write_subdevice == NULL ||
@@ -2624,7 +2618,7 @@ static ssize_t store_write_buffer_kb(struct device *dev,
 {
        struct comedi_device_file_info *info = dev_get_drvdata(dev);
        unsigned int new_size_kb;
-       uint64_t new_size;
+       unsigned int new_size;
        int retval;
        int ret;
        struct comedi_subdevice *const write_subdevice =
@@ -2633,11 +2627,9 @@ static ssize_t store_write_buffer_kb(struct device *dev,
        ret = kstrtouint(buf, 10, &new_size_kb);
        if (ret)
                return ret;
-       if (new_size_kb != (uint32_t) new_size_kb)
+       if (new_size_kb > (UINT_MAX / bytes_per_kibi))
                return -EINVAL;
        new_size = ((uint64_t) new_size_kb) * bytes_per_kibi;
-       if (new_size != (uint32_t) new_size)
-               return -EINVAL;
 
        mutex_lock(&info->device->mutex);
        if (write_subdevice == NULL ||