Ubuntu-focal-kernel/drivers/staging
Aleksandr Mishin a62f934227 staging: iio: frequency: ad9834: Validate frequency parameter value
BugLink: https://bugs.launchpad.net/bugs/2081278

commit b48aa991758999d4e8f9296c5bbe388f293ef465 upstream.

In ad9834_write_frequency() clk_get_rate() can return 0. In such case
ad9834_calc_freqreg() call will lead to division by zero. Checking
'if (fout > (clk_freq / 2))' doesn't protect in case of 'fout' is 0.
ad9834_write_frequency() is called from ad9834_write(), where fout is
taken from text buffer, which can contain any value.

Modify parameters checking.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 12b9d5bf76 ("Staging: IIO: DDS: AD9833 / AD9834 driver")
Suggested-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/20240703154506.25584-1-amishin@t-argos.ru
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
2024-09-27 10:50:33 +02:00
..
android
axis-fifo
board
clocking-wizard
comedi
emxx_udc
exfat
fbtft
fieldbus
fsl-dpaa2
fwserial
gasket
gdm724x
goldfish
greybus
gs_fpgaboot
iio
isdn
kpc2000
ks7010
media
most
mt7621-dma
mt7621-dts
mt7621-pci
mt7621-pci-phy
mt7621-pinctrl
netlogic
nvec
octeon
octeon-usb
olpc_dcon
pi433
qlge
ralink-gdma
rtl8188eu
rtl8192e
rtl8192u
rtl8712
rtl8723bs
rts5208
sm750fb
speakup
unisys
uwb
vc04_services
vme
vt6655
vt6656
wilc1000
wlan-ng
wusbcore
Kconfig
Makefile
signature-inclusion