]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: dummy: iio_simply_dummy_buffer: fix information leak in triggered buffer
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Mon, 25 Nov 2024 21:16:17 +0000 (22:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Feb 2025 17:22:22 +0000 (18:22 +0100)
commit 333be433ee908a53f283beb95585dfc14c8ffb46 upstream.

The 'data' array is allocated via kmalloc() and it 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.

Use kzalloc for the memory allocation to avoid pushing uninitialized
information to userspace.

Cc: stable@vger.kernel.org
Fixes: 415f79244757 ("iio: Move IIO Dummy Driver out of staging")
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20241125-iio_memset_scan_holes-v1-9-0cb6e98d895c@gmail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/dummy/iio_simple_dummy_buffer.c

index 5512d5edc70737ad5cf174c2bf9e753128afdaae..fcf4f56229d38541bfb23bdfa4f89ba9b0244994 100644 (file)
@@ -48,7 +48,7 @@ static irqreturn_t iio_simple_dummy_trigger_h(int irq, void *p)
        int len = 0;
        u16 *data;
 
-       data = kmalloc(indio_dev->scan_bytes, GFP_KERNEL);
+       data = kzalloc(indio_dev->scan_bytes, GFP_KERNEL);
        if (!data)
                goto done;