mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-09 14:14:00 +08:00
519808425e
Caught via static-analysis checker:
```
drivers/iio/imu/adis16460.c
152 static int adis16460_set_freq(struct iio_dev *indio_dev, int val, int val2)
153 {
154 struct adis16460 *st = iio_priv(indio_dev);
155 unsigned int t;
^^^^^^^^^^^^^^
156
157 t = val * 1000 + val2 / 1000;
158 if (t <= 0)
^^^^^^
Unsigned is not less than zero.
```
The types of `val` && `val2` are obtained from the IIO `write_raw` hook, so
userspace can provide negative values, which can cause weird behavior after
conversion to unsigned.
This patch changes the sign of variable `t` so that -EINVAL will be
returned for negative values as well.
Fixes:
|
||
---|---|---|
.. | ||
bmi160 | ||
inv_mpu6050 | ||
st_lsm6dsx | ||
adis16400.c | ||
adis16460.c | ||
adis16480.c | ||
adis_buffer.c | ||
adis_trigger.c | ||
adis.c | ||
Kconfig | ||
kmx61.c | ||
Makefile |