Commit 48f32117 authored by Javier Carrasco's avatar Javier Carrasco Committed by Wenyu Huang
Browse files

iio: pressure: zpa2326: fix information leak in triggered buffer

stable inclusion
from stable-v6.6.72
commit fefb88a4da961a0b9c2473cbdcfce1a942fcfa9a
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBIQW6
CVE: CVE-2024-57912

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fefb88a4da961a0b9c2473cbdcfce1a942fcfa9a



--------------------------------

commit 6007d10c5262f6f71479627c1216899ea7f09073 upstream.

The 'sample' local struct is used to push data to user space from a
triggered buffer, but it has a hole between the temperature and the
timestamp (u32 pressure, u16 temperature, GAP, u64 timestamp).
This hole is never initialized.

Initialize the struct to zero before using it to avoid pushing
uninitialized information to userspace.

Cc: stable@vger.kernel.org
Fixes: 03b262f2 ("iio:pressure: initial zpa2326 barometer support")
Signed-off-by: default avatarJavier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://patch.msgid.link/20241125-iio_memset_scan_holes-v1-3-0cb6e98d895c@gmail.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarWenyu Huang <huangwenyu5@huawei.com>
parent df1d0f90
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -586,6 +586,8 @@ static int zpa2326_fill_sample_buffer(struct iio_dev *indio_dev,
	}   sample;
	int err;

	memset(&sample, 0, sizeof(sample));

	if (test_bit(0, indio_dev->active_scan_mask)) {
		/* Get current pressure from hardware FIFO. */
		err = zpa2326_dequeue_pressure(indio_dev, &sample.pressure);