linux-xiaomi-chiron/drivers/input
Benjamin Tissoires 40f7090bb1 Input: elan_i2c_smbus - fix corrupted stack
New ICs (like the one on the Lenovo T480s) answer to
ETP_SMBUS_IAP_VERSION_CMD 4 bytes instead of 3. This corrupts the stack
as i2c_smbus_read_block_data() uses the values returned by the i2c
device to know how many data it need to return.

i2c_smbus_read_block_data() can read up to 32 bytes (I2C_SMBUS_BLOCK_MAX)
and there is no safeguard on how many bytes are provided in the return
value. Ensure we always have enough space for any future firmware.
Also 0-initialize the values to prevent any access to uninitialized memory.

Cc: <stable@vger.kernel.org> # v4.4.x, v4.9.x, v4.14.x, v4.15.x, v4.16.x
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: KT Liao <kt.liao@emc.com.tw>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2018-05-23 11:48:59 -07:00
..
gameport treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
joystick Merge branch 'next' into for-linus 2018-04-04 16:11:49 -07:00
keyboard Merge branch 'next' into for-linus 2018-04-04 16:11:49 -07:00
misc Input: add RAVE SP Powerbutton driver 2018-03-08 15:34:45 -08:00
mouse Input: elan_i2c_smbus - fix corrupted stack 2018-05-23 11:48:59 -07:00
rmi4 Input: synaptics-rmi4 - fix an unchecked out of memory error path 2018-04-06 15:39:18 -07:00
serio Merge branch 'next' into for-linus 2018-04-04 16:11:49 -07:00
tablet Input: pegasus_notetaker - do not rely on input_dev->users 2018-03-17 11:05:18 -07:00
touchscreen Input: atmel_mxt_ts - add missing compatible strings to OF device table 2018-05-01 15:51:15 -07:00
apm-power.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
evbug.c
evdev.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
ff-core.c Input: uinput - avoid FF flush when destroying device 2017-09-21 16:31:22 -07:00
ff-memless.c Input: ff_memless - convert to using timer_setup() 2017-10-23 16:31:52 -07:00
input-compat.c Input: extend usable life of event timestamps to 2106 on 32 bit systems 2018-01-09 16:40:30 -08:00
input-compat.h Input: extend usable life of event timestamps to 2106 on 32 bit systems 2018-01-09 16:40:30 -08:00
input-leds.c Input: leds - fix out of bound access 2018-04-11 14:52:59 -07:00
input-mt.c Input: update input_mt_report_pointer_emulation to support hovering 2016-06-01 14:21:10 -07:00
input-polldev.c Input: remove remaining unneeded MODULE_VERSION() usage 2018-01-16 16:48:25 -08:00
input.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
joydev.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
Kconfig Input: mousedev - stop offering PS/2 to userspace by default 2017-01-31 11:31:49 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
matrix-keymap.c Input: matrix-keypad - switch to using generic device properties 2017-01-31 11:31:48 -08:00
mousedev.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
sparse-keymap.c Input: remove remaining unneeded MODULE_VERSION() usage 2018-01-16 16:48:25 -08:00