From: Guenter Roeck <linux@roeck-us.net>
Date: Mon, 16 Jan 2012 21:51:47 +0000 (+0100)
Subject: hwmon: (lm90) Add range check to set_update_interval
X-Git-Tag: v3.3-rc1~42^2~4
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6b101116ae445311031f3e9f91d3010d444b9845;p=users%2Fjedix%2Flinux-maple.git

hwmon: (lm90) Add range check to set_update_interval

When writing the update_interval attribute, the parameter value was
not range checked, which could cause an integer overflow and result
in an arbitrary update interval. Fix by limiting the value range to
<0, 100000>.

Reported-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
---

diff --git a/drivers/hwmon/lm90.c b/drivers/hwmon/lm90.c
index bdfd675488ae..d2dd5f90496d 100644
--- a/drivers/hwmon/lm90.c
+++ b/drivers/hwmon/lm90.c
@@ -917,7 +917,7 @@ static ssize_t set_update_interval(struct device *dev,
 		return err;
 
 	mutex_lock(&data->update_lock);
-	lm90_set_convrate(client, data, val);
+	lm90_set_convrate(client, data, SENSORS_LIMIT(val, 0, 100000));
 	mutex_unlock(&data->update_lock);
 
 	return count;