diff options
| author | Antoniu Miclaus <antoniu.miclaus@analog.com> | 2026-03-31 13:13:00 +0300 |
|---|---|---|
| committer | Jonathan Cameron <jic23@kernel.org> | 2026-04-28 18:36:09 +0300 |
| commit | 761e8b489e6cf166c574034b70637f8a7eadd0ee (patch) | |
| tree | fa6053fb2c11189ae7568d7d623c5be13055c474 | |
| parent | 1a772719318c11e146f6fbe621fffd230a6f456a (diff) | |
| download | linux-761e8b489e6cf166c574034b70637f8a7eadd0ee.tar.xz | |
iio: gyro: adis16260: fix division by zero in write_raw
Add a validation check for the sampling frequency value before using it
as a divisor. A user writing zero to the sampling_frequency sysfs
attribute triggers a division by zero in the kernel.
Fixes: 089a41985c6c ("staging: iio: adis16260 digital gyro driver")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
| -rw-r--r-- | drivers/iio/gyro/adis16260.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/iio/gyro/adis16260.c b/drivers/iio/gyro/adis16260.c index 586e6cfa14a9..91b9c5f18ec4 100644 --- a/drivers/iio/gyro/adis16260.c +++ b/drivers/iio/gyro/adis16260.c @@ -287,6 +287,9 @@ static int adis16260_write_raw(struct iio_dev *indio_dev, addr = adis16260_addresses[chan->scan_index][1]; return adis_write_reg_16(adis, addr, val); case IIO_CHAN_INFO_SAMP_FREQ: + if (val <= 0) + return -EINVAL; + if (spi_get_device_id(adis->spi)->driver_data) t = 256 / val; else |
