alistair23-linux/drivers/input
Dmitry Vyukov 218c1f76b8 Input: psmouse - fix data race in __ps2_command
The data race happens on ps2dev->cmdcnt and ps2dev->cmdbuf contents.
__ps2_command reads that data concurrently with the interrupt handler. As
the result, for example, if a response arrives just after the timeout,
__ps2_command can copy out garbage from ps2dev->cmdbuf but then see that
ps2dev->cmdcnt is 0 and return success.

Stop the interrupt handler with serio_pause_rx() before reading the
results.

The data race was found with KernelThreadSanitizer (KTSAN).

Signed-off-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-09-29 16:08:29 -07:00
..
gameport Input: initialize device counter variables with -1 2014-12-03 15:27:17 -08:00
joystick Input: zhenhua - ensure we have BITREVERSE 2015-09-28 16:42:34 -07:00
keyboard Input: omap4-keypad - fix memory leak 2015-09-28 16:05:45 -07:00
misc Input: uinput - fix crash when using ABS events 2015-09-21 09:32:41 -07:00
mouse Input: elan_i2c - add all valid ic type for i2c/smbus 2015-09-28 17:18:54 -07:00
serio Input: psmouse - fix data race in __ps2_command 2015-09-29 16:08:29 -07:00
tablet Input: gtco - use sign_extend32() for sign extension 2015-01-26 23:07:45 -08:00
touchscreen Input: imx6ul_tsc - fix controller name 2015-09-19 11:41:54 -07:00
apm-power.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
evbug.c
evdev.c Input: evdev - do not report errors form flush() 2015-09-03 23:38:23 -07:00
ff-core.c Input: ff-core - use for_each_set_bit where appropriate 2015-07-08 21:50:59 -07:00
ff-memless.c [media] fixp-arith: replace sin/cos table by a better precision one 2015-03-02 14:50:06 -03:00
input-compat.c compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-compat.h compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-leds.c Input: LEDs - skip unnamed LEDs 2015-07-24 09:11:01 -07:00
input-mt.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2015-04-14 18:25:15 -07:00
input-polldev.c Input: implement managed polled input devices 2014-05-14 16:40:04 -07:00
input.c Input: do not emit unneeded EV_SYN when suspending 2015-08-07 14:55:38 -07:00
joydev.c Linux 4.2-rc3 2015-07-20 10:08:17 -07:00
Kconfig Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
Makefile Input: export LEDs as class devices in sysfs 2015-06-11 18:18:11 -07:00
matrix-keymap.c input: Export matrix_keypad_parse_of_params() 2013-04-19 00:31:13 +02:00
mousedev.c Input: mousedev - fix race when creating mixed device 2014-03-29 14:44:23 -07:00
sparse-keymap.c treewide: Fix typo in Documentation/DocBook 2014-02-19 14:58:17 +01:00