linux/drivers/input/joystick
Tetsuo Handa fdd57c20d4 Input: iforce - invert valid length check when fetching device IDs
commit b8ebf25099 upstream.

syzbot is reporting uninitialized value at iforce_init_device() [1], for
commit 6ac0aec6b0 ("Input: iforce - allow callers supply data buffer
when fetching device IDs") is checking that valid length is shorter than
bytes to read. Since iforce_get_id_packet() stores valid length when
returning 0, the caller needs to check that valid length is longer than or
equals to bytes to read.

Reported-by: syzbot <syzbot+4dd880c1184280378821@syzkaller.appspotmail.com>
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Fixes: 6ac0aec6b0 ("Input: iforce - allow callers supply data buffer when fetching device IDs")
Link: https://lore.kernel.org/r/531fb432-7396-ad37-ecba-3e42e7f56d5c@I-love.SAKURA.ne.jp
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2022-11-26 09:24:47 +01:00
..
iforce Input: iforce - invert valid length check when fetching device IDs 2022-11-26 09:24:47 +01:00
a3d.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
adc-joystick.c Input: joystick - add ADC attached joystick driver. 2020-09-28 16:26:11 -07:00
adi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
amijoy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
analog.c Input: analog - always use ktime functions 2021-09-08 23:39:47 -07:00
as5011.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
cobra.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
db9.c Input: Use fallthrough pseudo-keyword 2020-07-07 11:25:54 -07:00
fsia6b.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gamecon.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
gf2k.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
grip.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
grip_mp.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
guillemot.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
interact.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
joydump.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Kconfig This pull request contains the following changes for UML: 2021-07-09 10:19:13 -07:00
magellan.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
Makefile Input: add SparkFun Qwiic Joystick driver 2021-06-18 21:28:20 -07:00
maplecontrol.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
n64joy.c Input: n64joy - fix return value check in n64joy_probe() 2021-03-09 21:41:28 -08:00
psxpad-spi.c Input: psxpad-spi - switch to using polled mode of input devices 2019-10-29 17:13:36 -07:00
pxrc.c Input: pxrc - flatten probe code 2018-07-25 19:04:19 +00:00
qwiic-joystick.c Input: add SparkFun Qwiic Joystick driver 2021-06-18 21:28:20 -07:00
sidewinder.c Input: Fix fall-through warning for Clang 2021-07-06 16:26:17 -05:00
spaceball.c Input: spaceball - fix parsing of movement data packets 2022-01-05 12:42:39 +01:00
spaceorb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
stinger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 31 2019-05-24 17:27:10 +02:00
tmdc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
turbografx.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
twidjoy.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
walkera0701.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
warrior.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 31 2019-05-24 17:27:10 +02:00
xpad.c Input: xpad - fix wireless 360 controller breaking after suspend 2022-10-15 07:59:04 +02:00
zhenhua.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00