linux/drivers/iio/light
Jonathan Cameron 2684d50034 iio:light:ltr501 Fix timestamp alignment issue.
One of a class of bugs pointed out by Lars in a recent review.
iio_push_to_buffers_with_timestamp assumes the buffer used is aligned
to the size of the timestamp (8 bytes).  This is not guaranteed in
this driver which uses an array of smaller elements on the stack.
Here we use a structure on the stack.  The driver already did an
explicit memset so no data leak was possible.

Forced alignment of ts is not strictly necessary but probably makes
the code slightly less fragile.

Note there has been some rework in this driver of the years, so no
way this will apply cleanly all the way back.

Fixes: 2690be9051 ("iio: Add Lite-On ltr501 ambient light / proximity sensor driver")
Reported-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: <Stable@vger.kernel.org>
2020-08-22 11:38:58 +01:00
..
acpi-als.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
adjd_s311.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
adux1020.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
al3010.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
al3320a.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
apds9300.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
apds9960.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
bh1750.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
bh1780.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cm3232.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cm3323.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cm3605.c iio: remove left-over parent assignments 2020-06-14 11:50:04 +01:00
cm32181.c iio: light: cm32181: Fix formatting and docrot issues in cm32181_acpi_get_cpm() 2020-07-20 09:03:07 +01:00
cm36651.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cros_ec_light_prox.c iio: cros_ec: Reapply range at resume 2020-06-14 11:49:41 +01:00
gp2ap002.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
gp2ap020a00f.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
hid-sensor-als.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
hid-sensor-prox.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
iqs621-als.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
isl29018.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
isl29028.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
isl29125.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
jsa1212.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
Kconfig iio: vcnl4000: Add buffer support for VCNL4010/20. 2020-05-03 14:53:57 +01:00
lm3533-als.c iio: light: lm3533-als: use iio_device_set_parent() to assign parent 2020-06-14 11:50:02 +01:00
ltr501.c iio:light:ltr501 Fix timestamp alignment issue. 2020-08-22 11:38:58 +01:00
lv0104cs.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
Makefile - New Drivers 2020-04-07 19:48:52 -07:00
max44000.c iio:light:max44000 Fix timestamp alignment and prevent data leak. 2020-08-22 11:38:57 +01:00
max44009.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
noa1305.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
opt3001.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
pa12203001.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
rpr0521.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
si1133.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
si1145.c iio: light: si1145: Demote obvious misuse of kerneldoc to standard comment blocks 2020-07-20 09:03:17 +01:00
st_uvis25_core.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
st_uvis25_i2c.c iio: light: st_uvis25: Add mod_devicetable.h and drop of_match_ptr 2020-04-25 15:44:36 +01:00
st_uvis25_spi.c iio: light: st_uvis25: Add mod_devicetable.h and drop of_match_ptr 2020-04-25 15:44:36 +01:00
st_uvis25.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 177 2019-05-30 11:29:19 -07:00
stk3310.c iio: light: stk3310: add chip id for STK3311-X variant 2020-07-20 09:03:38 +01:00
tcs3414.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
tcs3472.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
tsl2563.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
tsl2583.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
tsl2772.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
tsl4531.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
us5182d.c iio: light: us5182d: Fix formatting in kerneldoc function block 2020-07-20 09:03:19 +01:00
vcnl4000.c iio: Move attach/detach of the poll func to the core 2020-06-20 17:34:44 +01:00
vcnl4035.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
veml6030.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
veml6070.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
vl6180.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
zopt2201.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00