]> 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>
Thu, 23 Jan 2025 16:15:54 +0000 (17:15 +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 59aa60d4ca370baafd0e7f0e164e5f5f0b89e468..a8fd50cdffbed4bcea1d18c7190415587ae84d64 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;