linux/drivers/input/mouse
Javier Carrasco e2bf9ba1d3 Revert "Input: bcm5974 - check endpoint type before starting traffic"
commit 7105e92c60 upstream.

This patch intended to fix an well-knonw issue in old drivers where the
endpoint type is taken for granted, which is often triggered by fuzzers.

That was the case for this driver [1], and although the fix seems to be
correct, it uncovered another issue that leads to a regression [2], if
the endpoints of the current interface are checked.

The driver makes use of endpoints that belong to a different interface
rather than the one it binds (it binds to the third interface, but also
accesses an endpoint from a different one). The driver should claim the
interfaces it requires, but that is still not the case.

Given that the regression is more severe than the issue found by
syzkaller, the best approach is reverting the patch that causes the
regression, and trying to fix the underlying problem before checking
the endpoint types again.

Note that reverting this patch will probably trigger the syzkaller bug
at some point.

This reverts commit 2b9c3eb32a.

Link: https://syzkaller.appspot.com/bug?extid=348331f63b034f89b622 [1]
Link: https://lore.kernel.org/linux-input/87sf161jjc.wl-tiwai@suse.de/ [2]

Fixes: 2b9c3eb32a ("Input: bcm5974 - check endpoint type before starting traffic")
Reported-by: Jacopo Radice <jacopo.radice@outlook.com>
Closes: https://bugzilla.suse.com/show_bug.cgi?id=1220030
Signed-off-by: Javier Carrasco <javier.carrasco.cruz@gmail.com>
Link: https://lore.kernel.org/r/20240305-revert_bcm5974_ep_check-v3-1-527198cf6499@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-08-19 06:04:31 +02:00
..
alps.c Input: alps - fix compatibility with -funsigned-char 2023-03-19 23:07:04 -07:00
alps.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
amimouse.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
appletouch.c Input: appletouch - initialize work before device registration 2021-12-30 21:04:04 -08:00
atarimouse.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
bcm5974.c Revert "Input: bcm5974 - check endpoint type before starting traffic" 2024-08-19 06:04:31 +02:00
byd.c Input: byd - fix typo in a comment 2021-12-20 00:59:50 -08:00
byd.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
cyapa.c Input: cyapa - add missing input core locking to suspend/resume functions 2024-06-12 11:12:40 +02:00
cyapa.h Input: cyapa - fix for losing events during device power transitions 2016-03-04 11:32:13 -08:00
cyapa_gen3.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
cyapa_gen5.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
cyapa_gen6.c Input: cyapa_gen6 - aligned "*" each line 2022-06-22 16:14:37 -07:00
cypress_ps2.c Input: cypress_ps2 - fix typo in comment 2022-05-21 12:48:39 -07:00
cypress_ps2.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
elan_i2c.h Input: elan_i2c - reduce the resume time for controller in Whitebox 2021-09-06 22:30:34 -07:00
elan_i2c_core.c Input: elan_i2c - do not leave interrupt disabled on suspend failure 2024-08-03 08:54:00 +02:00
elan_i2c_i2c.c Input: elan_i2c - fix firmware update on newer ICs 2020-11-11 20:13:12 -08:00
elan_i2c_smbus.c Merge branch 'next' into for-linus 2020-12-14 16:27:23 -08:00
elantech.c Input: elantech - fix touchpad state on resume for Lenovo N24 2024-07-25 09:50:48 +02:00
elantech.h Input: elantech - fix protocol errors for some trackpoints in SMBus mode 2020-12-11 00:15:05 -08:00
focaltech.c Input: focaltech - use explicitly signed char type 2023-03-19 23:07:02 -07:00
focaltech.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
gpio_mouse.c Input: gpio_mouse - fix typos in comments 2022-06-22 15:29:35 -07:00
hgpk.c Input: hgpk - fix repeated word in a comment 2022-09-08 14:06:23 -07:00
hgpk.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
inport.c input: drop empty comment blocks 2022-09-29 16:25:42 -07:00
Kconfig input: remove pxa930_trkball driver 2023-02-01 17:23:38 +01:00
lifebook.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lifebook.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
logibm.c input: drop empty comment blocks 2022-09-29 16:25:42 -07:00
logips2pp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
logips2pp.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
Makefile input: remove pxa930_trkball driver 2023-02-01 17:23:38 +01:00
maplemouse.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
navpoint.c Input: navpoint - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() 2023-01-09 20:25:23 -08:00
pc110pad.c input: drop empty comment blocks 2022-09-29 16:25:42 -07:00
psmouse-base.c Input: libps2 - introduce common interrupt handler 2023-05-18 11:40:32 -07:00
psmouse-smbus.c Revert "Input: psmouse - add delay when deactivating for SMBus mode" 2023-10-12 16:01:36 -07:00
psmouse.h Input: libps2 - attach ps2dev instances as serio port's drvdata 2023-05-18 11:40:32 -07:00
rpcmouse.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sentelic.c Input: sentelic - fix error return when fsp_reg_write fails 2020-08-06 17:33:43 -07:00
sentelic.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
sermouse.c input: drop empty comment blocks 2022-09-29 16:25:42 -07:00
synaptics.c Input: psmouse - enable Synaptics InterTouch for ThinkPad L14 G1 2024-01-20 11:51:43 +01:00
synaptics.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
synaptics_i2c.c Input: Switch i2c drivers back to use .probe() 2023-05-17 09:59:11 -07:00
synaptics_usb.c Input: move from strlcpy with unused retval to strscpy 2022-08-18 15:44:08 -07:00
touchkit_ps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
touchkit_ps2.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
trackpoint.c Input: libps2 - attach ps2dev instances as serio port's drvdata 2023-05-18 11:40:32 -07:00
trackpoint.h Input: trackpoint - add new trackpoint variant IDs 2020-09-14 12:24:46 -07:00
vmmouse.c Input: vmmouse - disable vmmouse before entering suspend mode 2022-05-18 15:02:13 -07:00
vmmouse.h Input: psmouse - drop all unneeded functions from mouse headers 2019-08-20 14:15:36 -07:00
vsxxxaa.c input: drop empty comment blocks 2022-09-29 16:25:42 -07:00