diff mbox

[next] iio: tsl2x7x/tsl2772: avoid potential division by zero

Message ID 20180530181936.17902-1-colin.king@canonical.com (mailing list archive)
State New, archived
Headers show

Commit Message

Colin King May 30, 2018, 6:19 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

It may be possible for tsl2772_get_lux to return a zero lux value
and hence a division by zero can occur when lux_val is zero. Check
for this case and return -ERANGE to avoid the division by zero.

Detected by CoverityScan, CID#1469484 ("Division or modulo by zero")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/iio/light/tsl2772.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Brian Masney May 31, 2018, 9:28 a.m. UTC | #1
On Wed, May 30, 2018 at 07:19:36PM +0100, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> It may be possible for tsl2772_get_lux to return a zero lux value
> and hence a division by zero can occur when lux_val is zero. Check
> for this case and return -ERANGE to avoid the division by zero.
> 
> Detected by CoverityScan, CID#1469484 ("Division or modulo by zero")
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Acked-by: Brian Masney <masneyb@onstation.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jonathan Cameron June 3, 2018, 3:12 p.m. UTC | #2
On Thu, 31 May 2018 05:28:01 -0400
Brian Masney <masneyb@onstation.org> wrote:

> On Wed, May 30, 2018 at 07:19:36PM +0100, Colin King wrote:
> > From: Colin Ian King <colin.king@canonical.com>
> > 
> > It may be possible for tsl2772_get_lux to return a zero lux value
> > and hence a division by zero can occur when lux_val is zero. Check
> > for this case and return -ERANGE to avoid the division by zero.
> > 
> > Detected by CoverityScan, CID#1469484 ("Division or modulo by zero")
> > 
> > Signed-off-by: Colin Ian King <colin.king@canonical.com>  
> 
> Acked-by: Brian Masney <masneyb@onstation.org>

Applied to the fixes-togreg branch of iio.git.

As there was nothing in that branch that is going upstream until after
the merge window closes, I moved it forward to match staging/staging-next.

Jonathan
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
index 34d42a2504c9..df5b2a0da96c 100644
--- a/drivers/iio/light/tsl2772.c
+++ b/drivers/iio/light/tsl2772.c
@@ -582,6 +582,8 @@  static int tsl2772_als_calibrate(struct iio_dev *indio_dev)
 			"%s: failed to get lux\n", __func__);
 		return lux_val;
 	}
+	if (lux_val == 0)
+		return -ERANGE;
 
 	ret = (chip->settings.als_cal_target * chip->settings.als_gain_trim) /
 			lux_val;