kernel-fxtec-pro1x/drivers/iio/light
Jonathan Cameron 412480300a iio:light:max44000 Fix timestamp alignment and prevent data leak.
commit 523628852a5f5f34a15252b2634d0498d3cfb347 upstream.

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 a 16 byte array of smaller elements on the stack.
As Lars also noted this anti pattern can involve a leak of data to
userspace and that indeed can happen here.  We close both issues by
moving to a suitable structure in the iio_priv().
This data is allocated with kzalloc so no data can leak appart
from previous readings.

It is necessary to force the alignment of ts to avoid the padding
on x86_32 being different from 64 bit platorms (it alows for
4 bytes aligned 8 byte types.

Fixes: 06ad7ea10e ("max44000: Initial triggered buffer support")
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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-17 13:45:27 +02:00
..
acpi-als.c
adjd_s311.c
al3320a.c
apds9300.c
apds9960.c
bh1750.c iio: light: bh1750: Resolve compiler warning and make code more readable 2019-12-31 16:34:48 +01:00
bh1780.c
cm3232.c
cm3323.c
cm3605.c
cm32181.c
cm36651.c
cros_ec_light_prox.c
gp2ap020a00f.c
hid-sensor-als.c iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-12-05 19:32:13 +01:00
hid-sensor-prox.c iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-12-05 19:32:13 +01:00
isl29018.c
isl29028.c
isl29125.c
jsa1212.c
Kconfig iio: vcnl4000: add support for VCNL4200 2018-07-29 12:19:28 +01:00
lm3533-als.c
ltr501.c iio:light:ltr501 Fix timestamp alignment issue. 2020-09-17 13:45:27 +02:00
lv0104cs.c
Makefile iio: light: introduce si1133 2018-07-23 19:18:11 +01:00
max44000.c iio:light:max44000 Fix timestamp alignment and prevent data leak. 2020-09-17 13:45:27 +02:00
opt3001.c iio: light: opt3001: fix mutex unlock race 2019-10-17 13:45:13 -07:00
pa12203001.c
rpr0521.c
si1133.c iio: si1133: read 24-bit signed integer for measurement 2020-04-23 10:30:23 +02:00
si1145.c
st_uvis25.h
st_uvis25_core.c
st_uvis25_i2c.c
st_uvis25_spi.c
stk3310.c
tcs3414.c
tcs3472.c
tsl2563.c
tsl2583.c
tsl2772.c iio: tsl2772: Use devm_add_action_or_reset for tsl2772_chip_off 2020-01-27 14:51:03 +01:00
tsl4531.c
us5182d.c
vcnl4000.c iio: vcnl4000: Fix i2c swapped word reading. 2020-06-10 21:35:00 +02:00
veml6070.c
vl6180.c
zopt2201.c