Message ID | 60D6AC11DAAB99DB+20231231132817.GA130@LAPTOP-9C7JTT8O.localdomain (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | [1/1] drivers/iio/magnetometer/rm3100-core.c:add boundary check for the value read from RM3100_REG_TMRC | expand |
diff --git a/drivers/iio/magnetometer/rm3100-core.c b/drivers/iio/magnetometer/rm3100-core.c index 69938204456f..fc50b6d4a334 100644 --- a/drivers/iio/magnetometer/rm3100-core.c +++ b/drivers/iio/magnetometer/rm3100-core.c @@ -586,6 +586,12 @@ int rm3100_common_probe(struct device *dev, struct regmap *regmap, int irq) ret = regmap_read(regmap, RM3100_REG_TMRC, &tmp); if (ret < 0) return ret; + + if (tmp < RM3100_SAMP_NUM || tmp - RM3100_TMRC_OFFSET >= RM3100_SAMP_NUM) { + dev_err(dev, "The value read from RM3100_REG_TMRC is invalid!\n"); + return -EINVAL; + } + /* Initializing max wait time, which is double conversion time. */ data->conversion_time = rm3100_samp_rates[tmp - RM3100_TMRC_OFFSET][2] * 2;