]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: dac: ad3552r-hs: fix uninitialized data ni ad3552r_hs_write_data_source()
authorDan Carpenter <error27@gmail.com>
Mon, 25 May 2026 07:15:46 +0000 (10:15 +0300)
committerJonathan Cameron <jic23@kernel.org>
Tue, 26 May 2026 18:22:57 +0000 (19:22 +0100)
If the *ppos value is non-zero then the simple_write_to_buffer() function
won't initialized the start of the buf[] buffer.  Non-zero values for
*ppos won't work here generally, so just test for them and return -ENOSPC
at the start of the function.

Fixes: b1c5d68ea66e ("iio: dac: ad3552r-hs: add support for internal ramp")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Angelo Dureghello <adureghello@baylibre.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/dac/ad3552r-hs.c

index a9578afa7015d23dfb5c773dc1d0ecea71d85803..6bc64f53bce91df58a58fda7dcab69876b33cdb7 100644 (file)
@@ -549,7 +549,7 @@ static ssize_t ad3552r_hs_write_data_source(struct file *f,
 
        guard(mutex)(&st->lock);
 
-       if (count >= sizeof(buf))
+       if (*ppos != 0 || count >= sizeof(buf))
                return -ENOSPC;
 
        ret = simple_write_to_buffer(buf, sizeof(buf) - 1, ppos, userbuf,