From: Brian Masney <masneyb@onstation.org> To: jic23@kernel.org, linux-iio@vger.kernel.org Cc: devel@driverdev.osuosl.org, lars@metafoo.de, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, Jon.Brenner@ams.com, pmeerw@pmeerw.net, knaack.h@gmx.de Subject: [PATCH 08/13] staging: iio: tsl2x7x: add range checking to three sysfs attributes Date: Fri, 20 Apr 2018 20:41:48 -0400 [thread overview] Message-ID: <20180421004153.19073-9-masneyb@onstation.org> (raw) In-Reply-To: <20180421004153.19073-1-masneyb@onstation.org> The sysfs attributes in_illuminance0_target_input, in_illuminance0_calibrate, and in_proximity0_calibrate did not have proper range checking in place so this patch adds the correct range checks. Signed-off-by: Brian Masney <masneyb@onstation.org> --- drivers/staging/iio/light/tsl2x7x.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/staging/iio/light/tsl2x7x.c b/drivers/staging/iio/light/tsl2x7x.c index 56730baea927..15bc0af1bb6c 100644 --- a/drivers/staging/iio/light/tsl2x7x.c +++ b/drivers/staging/iio/light/tsl2x7x.c @@ -835,9 +835,10 @@ static ssize_t in_illuminance0_target_input_store(struct device *dev, if (kstrtoul(buf, 0, &value)) return -EINVAL; - if (value) - chip->settings.als_cal_target = value; + if (value < 0 || value > 65535) + return -ERANGE; + chip->settings.als_cal_target = value; ret = tsl2x7x_invoke_change(indio_dev); if (ret < 0) return ret; @@ -853,14 +854,12 @@ static ssize_t in_illuminance0_calibrate_store(struct device *dev, bool value; int ret; - if (strtobool(buf, &value)) + if (kstrtobool(buf, &value) || !value) return -EINVAL; - if (value) { - ret = tsl2x7x_als_calibrate(indio_dev); - if (ret < 0) - return ret; - } + ret = tsl2x7x_als_calibrate(indio_dev); + if (ret < 0) + return ret; ret = tsl2x7x_invoke_change(indio_dev); if (ret < 0) @@ -946,14 +945,12 @@ static ssize_t in_proximity0_calibrate_store(struct device *dev, bool value; int ret; - if (strtobool(buf, &value)) + if (kstrtobool(buf, &value) || !value) return -EINVAL; - if (value) { - ret = tsl2x7x_prox_cal(indio_dev); - if (ret < 0) - return ret; - } + ret = tsl2x7x_prox_cal(indio_dev); + if (ret < 0) + return ret; ret = tsl2x7x_invoke_change(indio_dev); if (ret < 0) -- 2.14.3 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
WARNING: multiple messages have this Message-ID (diff)
From: Brian Masney <masneyb@onstation.org> To: jic23@kernel.org, linux-iio@vger.kernel.org Cc: gregkh@linuxfoundation.org, devel@driverdev.osuosl.org, knaack.h@gmx.de, lars@metafoo.de, pmeerw@pmeerw.net, linux-kernel@vger.kernel.org, Jon.Brenner@ams.com Subject: [PATCH 08/13] staging: iio: tsl2x7x: add range checking to three sysfs attributes Date: Fri, 20 Apr 2018 20:41:48 -0400 [thread overview] Message-ID: <20180421004153.19073-9-masneyb@onstation.org> (raw) In-Reply-To: <20180421004153.19073-1-masneyb@onstation.org> The sysfs attributes in_illuminance0_target_input, in_illuminance0_calibrate, and in_proximity0_calibrate did not have proper range checking in place so this patch adds the correct range checks. Signed-off-by: Brian Masney <masneyb@onstation.org> --- drivers/staging/iio/light/tsl2x7x.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/drivers/staging/iio/light/tsl2x7x.c b/drivers/staging/iio/light/tsl2x7x.c index 56730baea927..15bc0af1bb6c 100644 --- a/drivers/staging/iio/light/tsl2x7x.c +++ b/drivers/staging/iio/light/tsl2x7x.c @@ -835,9 +835,10 @@ static ssize_t in_illuminance0_target_input_store(struct device *dev, if (kstrtoul(buf, 0, &value)) return -EINVAL; - if (value) - chip->settings.als_cal_target = value; + if (value < 0 || value > 65535) + return -ERANGE; + chip->settings.als_cal_target = value; ret = tsl2x7x_invoke_change(indio_dev); if (ret < 0) return ret; @@ -853,14 +854,12 @@ static ssize_t in_illuminance0_calibrate_store(struct device *dev, bool value; int ret; - if (strtobool(buf, &value)) + if (kstrtobool(buf, &value) || !value) return -EINVAL; - if (value) { - ret = tsl2x7x_als_calibrate(indio_dev); - if (ret < 0) - return ret; - } + ret = tsl2x7x_als_calibrate(indio_dev); + if (ret < 0) + return ret; ret = tsl2x7x_invoke_change(indio_dev); if (ret < 0) @@ -946,14 +945,12 @@ static ssize_t in_proximity0_calibrate_store(struct device *dev, bool value; int ret; - if (strtobool(buf, &value)) + if (kstrtobool(buf, &value) || !value) return -EINVAL; - if (value) { - ret = tsl2x7x_prox_cal(indio_dev); - if (ret < 0) - return ret; - } + ret = tsl2x7x_prox_cal(indio_dev); + if (ret < 0) + return ret; ret = tsl2x7x_invoke_change(indio_dev); if (ret < 0) -- 2.14.3
next prev parent reply other threads:[~2018-04-21 0:41 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-21 0:41 [PATCH 00/13] iio: tsl2x7x: staging cleanups Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 0:41 ` [PATCH 01/13] staging: iio: tsl2x7x: move integration_time* attributes to IIO_INTENSITY channel Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:13 ` Jonathan Cameron 2018-04-21 16:13 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 02/13] staging: iio: tsl2x7x: use GPL-2.0+ SPDX license identifier Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:16 ` Jonathan Cameron 2018-04-21 16:16 ` Jonathan Cameron 2018-04-21 17:04 ` Brian Masney 2018-04-21 17:04 ` Brian Masney 2018-04-21 0:41 ` [PATCH 03/13] staging: iio: tsl2x7x: don't return error in IRQ handler Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:18 ` Jonathan Cameron 2018-04-21 16:18 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 04/13] staging: iio: tsl2x7x: simplify tsl2x7x_clear_interrupts function Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:20 ` Jonathan Cameron 2018-04-21 16:20 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 05/13] staging: iio: tsl2x7x: remove unnecessary chip status checks in suspend/resume Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:23 ` Jonathan Cameron 2018-04-21 16:23 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 06/13] staging: iio: tsl2x7x: simplify tsl2x7x_write_interrupt_config return Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:25 ` Jonathan Cameron 2018-04-21 16:25 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 07/13] staging: iio: tsl2x7x: simplify device id verification Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:26 ` Jonathan Cameron 2018-04-21 16:26 ` Jonathan Cameron 2018-04-21 0:41 ` Brian Masney [this message] 2018-04-21 0:41 ` [PATCH 08/13] staging: iio: tsl2x7x: add range checking to three sysfs attributes Brian Masney 2018-04-21 16:31 ` Jonathan Cameron 2018-04-21 16:31 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 09/13] staging: iio: tsl2x7x: move power and diode settings into header file Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:33 ` Jonathan Cameron 2018-04-21 16:33 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 10/13] staging: iio: tsl2x7x: rename prx to prox for consistency Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:33 ` Jonathan Cameron 2018-04-21 16:33 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 11/13] staging: iio: tsl2x7x: use device defaults for als_time, prox_time and wait_time Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:39 ` Jonathan Cameron 2018-04-21 16:39 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 12/13] staging: iio: tsl2x7x: various comment cleanups Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:37 ` Jonathan Cameron 2018-04-21 16:37 ` Jonathan Cameron 2018-04-21 0:41 ` [PATCH 13/13] staging: iio: tsl2x7x: rename prox_config to als_prox_config Brian Masney 2018-04-21 0:41 ` Brian Masney 2018-04-21 16:38 ` Jonathan Cameron 2018-04-21 16:38 ` Jonathan Cameron
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180421004153.19073-9-masneyb@onstation.org \ --to=masneyb@onstation.org \ --cc=Jon.Brenner@ams.com \ --cc=devel@driverdev.osuosl.org \ --cc=gregkh@linuxfoundation.org \ --cc=jic23@kernel.org \ --cc=knaack.h@gmx.de \ --cc=lars@metafoo.de \ --cc=linux-iio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=pmeerw@pmeerw.net \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.