Revert "Input: bcm5974 - check endpoint type before starting traffic"
authorJavier Carrasco <javier.carrasco.cruz@gmail.com>
Tue, 5 Mar 2024 07:49:21 +0000 (08:49 +0100)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 5 Mar 2024 17:16:08 +0000 (09:16 -0800)
commit7105e92c60c9cc4112c782d69c172e96b69a43dc
tree04159bb67a1bcd9dacea4a1db11c8628905e0a0d
parentdd50f771af20fb02b1aecde04fbd085c872a9139
Revert "Input: bcm5974 - check endpoint type before starting traffic"

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 2b9c3eb32a699acdd4784d6b93743271b4970899.

Link: https://syzkaller.appspot.com/bug?extid=348331f63b034f89b622
Link: https://lore.kernel.org/linux-input/87sf161jjc.wl-tiwai@suse.de/
Fixes: 2b9c3eb32a69 ("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>
drivers/input/mouse/bcm5974.c