linux/drivers/staging
Zicheng Qu adfbc08b94 staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg()
commit 6bd301819f upstream.

In the ad9832_write_frequency() function, clk_get_rate() might return 0.
This can lead to a division by zero when calling ad9832_calc_freqreg().
The check if (fout > (clk_get_rate(st->mclk) / 2)) does not protect
against the case when fout is 0. The ad9832_write_frequency() function
is called from ad9832_write(), and fout is derived from a text buffer,
which can contain any value.

Link: https://lore.kernel.org/all/2024100904-CVE-2024-47663-9bdc@gregkh/
Fixes: ea707584ba ("Staging: IIO: DDS: AD9832 / AD9835 driver")
Cc: stable@vger.kernel.org
Signed-off-by: Zicheng Qu <quzicheng@huawei.com>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/20241022134354.574614-1-quzicheng@huawei.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-11-08 16:28:23 +01:00
..
axis-fifo staging: Explicitly include correct DT includes 2023-07-27 10:01:07 +02:00
board staging: board: Fix uninitialized spinlock when attaching genpd 2021-07-21 11:22:15 +02:00
emxx_udc staging: emxx_udc: Convert to platform remove callback returning void 2023-04-03 21:49:54 +02:00
fbtft Linux 6.5-rc7 2023-08-24 07:26:06 +10:00
fieldbus staging: fieldbus: arcx-anybus: Remove redundant of_match_ptr() 2023-08-11 23:28:04 +02:00
gdm724x tty: gdm724x: use min_t() for size_t varable and a constant 2023-08-22 14:53:53 +02:00
greybus greybus: arche-ctrl: move device table to its right location 2024-06-12 11:12:17 +02:00
iio staging: iio: frequency: ad9832: fix division by zero in ad9832_calc_freqreg() 2024-11-08 16:28:23 +01:00
ks7010 staging: ks7010: disable bh on tx_dev_lock 2024-08-29 17:33:26 +02:00
media minmax: reduce min/max macro expansion in atomisp driver 2024-09-18 19:24:07 +02:00
most staging: Explicitly include correct DT includes 2023-07-27 10:01:07 +02:00
nvec staging: nvec_ps2: Convert to platform remove callback returning void 2023-04-03 21:49:55 +02:00
octeon staging: octeon: delete my name from TODO contact 2023-05-08 16:09:33 +02:00
olpc_dcon staging: olpc_dcon: Switch i2c driver back to use .probe() 2023-05-28 10:15:27 +01:00
pi433 staging: Explicitly include correct DT includes 2023-07-27 10:01:07 +02:00
qlge Staging: qlge: Fix indentation in conditional statement 2023-03-16 09:44:31 +01:00
rtl8192e staging: rtl8192e: Annotate struct rtllib_txb with __counted_by 2023-08-22 15:48:05 +02:00
rtl8192u staging: rtl8192u: Fix keyidx assignment within if condition 2023-07-27 10:00:02 +02:00
rtl8712 staging: rtl8712: fix race condition 2023-08-04 16:20:13 +02:00
rtl8723bs staging: rtl8723bs: Use helpers to check broadcast and multicast Ether addresses 2023-08-22 15:47:17 +02:00
rts5208 staging: rts5208: Correct line ending with '(' 2023-07-27 10:00:19 +02:00
sm750fb Staging driver changes for 6.6-rc1 2023-09-01 09:27:29 -07:00
vc04_services staging: vc04_services: fix information leak in create_component() 2024-04-03 15:28:59 +02:00
vme_user staging: vme_user: added bound check to geoid 2024-10-17 15:24:20 +02:00
vt6655 staging: vt6655: replace camel case by snake case 2023-08-22 15:44:33 +02:00
vt6656 staging: vt6656: remove unused vnt_get_current_tsf() function 2023-03-17 08:07:23 +01:00
wlan-ng Fix nomenclature for USB and PCI wireless devices 2023-08-25 12:56:49 +03:00
Kconfig staging: r8188eu: delete driver 2023-03-09 10:06:28 +01:00
Makefile staging: r8188eu: delete driver 2023-03-09 10:06:28 +01:00