]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: adc: rockchip_saradc: fix information leak in triggered buffer
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Mon, 25 Nov 2024 21:16:12 +0000 (22:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jan 2025 16:16:03 +0000 (17:16 +0100)
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>
drivers/iio/adc/rockchip_saradc.c

index a237fe469a30cf2a87773396b212be6a4aaee8ba..3197fd2b3aada2ff0661d00c4ec92406a238801d 100644 (file)
@@ -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) {