1
linux/drivers/iio/adc
Zicheng Qu efa353ae1b iio: adc: ad7124: fix division by zero in ad7124_set_channel_odr()
In the ad7124_write_raw() function, parameter val can potentially
be zero. This may lead to a division by zero when DIV_ROUND_CLOSEST()
is called within ad7124_set_channel_odr(). The ad7124_write_raw()
function is invoked through the sequence: iio_write_channel_raw() ->
iio_write_channel_attribute() -> iio_channel_write(), with no checks
in place to ensure val is non-zero.

Cc: stable@vger.kernel.org
Fixes: 7b8d045e49 ("iio: adc: ad7124: allow more than 8 channels")
Signed-off-by: Zicheng Qu <quzicheng@huawei.com>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Link: https://patch.msgid.link/20241022134330.574601-1-quzicheng@huawei.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2024-10-24 18:30:47 +01:00
..
ab8500-gpadc.c iio: adc: ab8500-gpadc: Use device_for_each_child_node_scoped() to simplify erorr paths. 2024-04-06 11:29:06 +01:00
ad799x.c iio: adc: ad799x: make use of iio_get_masklength() 2024-07-29 20:31:09 +01:00
ad4000.c iio: adc: Add support for AD4000 2024-08-03 10:53:54 +01:00
ad4130.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ad4695.c iio: adc: ad4695: implement calibration support 2024-09-03 18:49:43 +01:00
ad7091r5.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7091r8.c iio: adc: ad7091r8: Constify struct regmap_bus 2024-07-29 20:31:10 +01:00
ad7091r-base.c iio: adc: ad7091r-base: Use auto cleanup of locks. 2024-02-17 16:16:11 +00:00
ad7091r-base.h
ad7124.c iio: adc: ad7124: fix division by zero in ad7124_set_channel_odr() 2024-10-24 18:30:47 +01:00
ad7173.c iio: adc: ad7173: fix GPIO device info 2024-08-17 11:20:02 +01:00
ad7192.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7266.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7280a.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7291.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7292.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7298.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7380.c iio: adc: ad7380: fix supplies for ad7380-4 2024-10-24 18:30:47 +01:00
ad7476.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7606_par.c Merge 6.11-rc7 into char-misc-next 2024-09-09 08:36:23 +02:00
ad7606_spi.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7606.c Merge 6.11-rc7 into char-misc-next 2024-09-09 08:36:23 +02:00
ad7606.h iio: adc: ad7606: remove frstdata check for serial mode 2024-07-29 20:31:23 +01:00
ad7766.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7768-1.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7780.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7791.c
ad7793.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7887.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7923.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad7944.c iio: adc: ad7944: use devm_spi_optimize_message() 2024-06-30 11:38:13 +01:00
ad7949.c
ad9467.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ad_sigma_delta.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
adi-axi-adc.c iio: adc: adi-axi-adc: implement backend debugfs interface 2024-08-03 14:36:45 +01:00
aspeed_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
at91_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
at91-sama5d2_adc.c
axp20x_adc.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
axp288_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
bcm_iproc_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
berlin2-adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
cc10001_adc.c iio: adc: cc10001_adc: make use of iio_for_each_active_channel() 2024-08-03 10:13:39 +01:00
cpcap-adc.c iio: adc: cpcap-adc: make use of regmap_clear_bits(), regmap_set_bits() 2024-06-25 21:04:44 +01:00
da9150-gpadc.c
dln2-adc.c iio: adc: dln2-adc: use new '.masklength' accessors 2024-08-03 10:13:39 +01:00
envelope-detector.c
ep93xx_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
exynos_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
fsl-imx25-gcq.c iio: adc: fsl-imx25-gcq: make use of regmap_clear_bits(), regmap_set_bits() 2024-06-25 21:04:44 +01:00
hi8435.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
hx711.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
imx7d_adc.c
imx8qxp-adc.c
imx93_adc.c
ina2xx-adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ingenic-adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
intel_mrfld_adc.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
Kconfig iio: adc: ad4695: Add missing Kconfig select 2024-10-10 19:10:27 +01:00
lp8788_adc.c
lpc18xx_adc.c
lpc32xx_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ltc2309.c iio: adc: ltc2309: Fix endian type passed to be16_to_cpu() 2024-06-28 20:04:18 +01:00
ltc2471.c
ltc2485.c iio: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-05-27 09:48:57 +01:00
ltc2496.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ltc2497-core.c
ltc2497.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ltc2497.h
Makefile iio: adc: sophgo-saradc: Add driver for Sophgo CV1800B SARADC 2024-09-03 20:05:03 +01:00
max1027.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
max1118.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
max1241.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
max1363.c iio: adc: max1363: simplify with cleanup.h 2024-07-29 20:31:11 +01:00
max9611.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
max11100.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
max11205.c iio: adc: max11205: simplify with spi_get_device_match_data() 2024-06-13 19:19:24 +01:00
max11410.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
max34408.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
max77541-adc.c
mcp320x.c iio: adc: mcp320x: Drop vendorless compatible strings 2024-09-03 18:49:44 +01:00
mcp3422.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mcp3564.c iio: adc: mcp3564: use devm_regulator_get_enable_read_voltage() 2024-08-03 10:13:43 +01:00
mcp3911.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
men_z188_adc.c
meson_saradc.c iio: adc: meson_saradc: make use of regmap_clear_bits(), regmap_set_bits() 2024-06-25 21:04:45 +01:00
mp2629_adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
mt6359-auxadc.c iio: adc: Add support for MediaTek MT6357/8/9 Auxiliary ADC 2024-07-01 19:38:48 +01:00
mt6360-adc.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mt6370-adc.c
mt6577_auxadc.c
mxs-lradc-adc.c iio: adc: mxs-lradc-adc: don't set masklength 2024-04-29 20:53:24 +01:00
nau7802.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
npcm_adc.c
pac1921.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
pac1934.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
palmas_gpadc.c
qcom-pm8xxx-xoadc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
qcom-spmi-adc5.c iio: adc: qcom-spmi-adc5: Use device_for_each_child_node_scoped() 2024-04-13 10:38:05 +01:00
qcom-spmi-iadc.c
qcom-spmi-rradc.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
qcom-spmi-vadc.c
qcom-vadc-common.c
rcar-gyroadc.c iio: adc: rcar-gyroadc: use for_each_available_child_node_scoped() 2024-03-25 19:53:08 +00:00
rn5t618-adc.c iio: adc: rn5t618-adc: make use of regmap_set_bits() 2024-06-25 21:04:45 +01:00
rockchip_saradc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
rtq6056.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
rzg2l_adc.c iio: adc: rzg2l_adc: Use device_for_each_child_node_scoped() 2024-03-25 19:50:10 +00:00
sc27xx_adc.c iio: adc: sc27xx_adc: make use of regmap_clear_bits(), regmap_set_bits() 2024-06-25 21:04:45 +01:00
sd_adc_modulator.c iio: add iio backend support to sd modulator 2024-08-10 11:17:34 +01:00
sophgo-cv1800b-adc.c iio: adc: sophgo-saradc: Add driver for Sophgo CV1800B SARADC 2024-09-03 20:05:03 +01:00
spear_adc.c iio: adc: spear_adc: Make use of device properties 2024-03-25 20:10:11 +00:00
stm32-adc-core.c
stm32-adc-core.h
stm32-adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
stm32-dfsdm-adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
stm32-dfsdm-core.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
stm32-dfsdm.h
stmpe-adc.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
sun4i-gpadc-iio.c
sun20i-gpadc-iio.c
ti_am335x_adc.c of: remove internal arguments from of_property_for_each_u32() 2024-07-25 06:53:47 -05:00
ti-adc081c.c
ti-adc084s021.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-adc108s102.c iio: adc: ti-adc108s102: use devm_regulator_get_enable_read_voltage() 2024-06-25 21:04:51 +01:00
ti-adc128s052.c
ti-adc161s626.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-adc0832.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-adc12138.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-ads124s08.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ti-ads131e08.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ti-ads1015.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-ads1100.c
ti-ads1119.c Merge 6.11-rc7 into char-misc-next 2024-09-09 08:36:23 +02:00
ti-ads1298.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ti-ads7924.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-ads7950.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-ads8344.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-ads8688.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-lmp92064.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-tlc4541.c iio: adc: standardize on formatting for id match tables 2024-09-05 19:27:13 +01:00
ti-tsc2046.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
twl4030-madc.c iio: adc: twl4030-madc: Make use of device properties 2024-03-25 20:10:13 +00:00
twl6030-gpadc.c iio: adc: twl6030-gpadc: use 'time_left' variable with wait_for_completion_interruptible_timeout() 2024-04-29 21:06:18 +01:00
vf610_adc.c iio: adc: vf610_adc: make use of iio_get_masklength() 2024-08-03 10:13:43 +01:00
viperboard_adc.c
xilinx-ams.c iio: adc: xilinx-ams: use device_* to iterate over device child nodes 2024-09-03 18:49:44 +01:00
xilinx-xadc-core.c iio: adc: xilinx-xadc-core: use new '.masklength' accessors 2024-08-03 10:13:43 +01:00
xilinx-xadc-events.c
xilinx-xadc.h