diff options
author | Javier Carrasco <javier.carrasco.cruz@gmail.com> | 2024-11-25 22:16:12 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-01-23 17:17:16 +0100 |
commit | 64b79afdca7b27a768c7d3716b7f4deb1d6b955c (patch) | |
tree | 1dedbdeeeec9d14b2ef4c2021999ae61fc954ba8 | |
parent | d3e25180ba20d26bbfc786ad39112b666e4d2b9a (diff) | |
download | linux-64b79afdca7b27a768c7d3716b7f4deb1d6b955c.tar.gz linux-64b79afdca7b27a768c7d3716b7f4deb1d6b955c.tar.bz2 linux-64b79afdca7b27a768c7d3716b7f4deb1d6b955c.zip |
iio: adc: rockchip_saradc: fix information leak in triggered buffer
commit 38724591364e1e3b278b4053f102b49ea06ee17c upstream.
The 'data' local struct is used to push data to user space from a
triggered buffer, but it does not set values for inactive channels, as
it only uses iio_for_each_active_channel() to assign new values.
Initialize the struct to zero before using it to avoid pushing
uninitialized information to userspace.
Cc: stable@vger.kernel.org
Fixes: 4e130dc7b413 ("iio: adc: rockchip_saradc: Add support iio buffers")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20241125-iio_memset_scan_holes-v1-4-0cb6e98d895c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Bin Lan <lanbincn@qq.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/iio/adc/rockchip_saradc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/iio/adc/rockchip_saradc.c b/drivers/iio/adc/rockchip_saradc.c index b87ea7148b58..0861885fa2a5 100644 --- a/drivers/iio/adc/rockchip_saradc.c +++ b/drivers/iio/adc/rockchip_saradc.c @@ -270,6 +270,8 @@ static irqreturn_t rockchip_saradc_trigger_handler(int irq, void *p) int ret; int i, j = 0; + memset(&data, 0, sizeof(data)); + mutex_lock(&i_dev->mlock); for_each_set_bit(i, i_dev->active_scan_mask, i_dev->masklength) { |