android_kernel_xiaomi_sm7250/drivers/input/tablet
Pavel Skripkin 6de20111cd Input: aiptek - properly check endpoint type
commit 5600f6986628dde8881734090588474f54a540a8 upstream.

Syzbot reported warning in usb_submit_urb() which is caused by wrong
endpoint type. There was a check for the number of endpoints, but not
for the type of endpoint.

Fix it by replacing old desc.bNumEndpoints check with
usb_find_common_endpoints() helper for finding endpoints

Fail log:

usb 5-1: BOGUS urb xfer, pipe 1 != type 3
WARNING: CPU: 2 PID: 48 at drivers/usb/core/urb.c:502 usb_submit_urb+0xed2/0x18a0 drivers/usb/core/urb.c:502
Modules linked in:
CPU: 2 PID: 48 Comm: kworker/2:2 Not tainted 5.17.0-rc6-syzkaller-00226-g07ebd38a0da2 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014
Workqueue: usb_hub_wq hub_event
...
Call Trace:
 <TASK>
 aiptek_open+0xd5/0x130 drivers/input/tablet/aiptek.c:830
 input_open_device+0x1bb/0x320 drivers/input/input.c:629
 kbd_connect+0xfe/0x160 drivers/tty/vt/keyboard.c:1593

Fixes: 8e20cf2bce ("Input: aiptek - fix crash on detecting device without endpoints")
Reported-and-tested-by: syzbot+75cccf2b7da87fb6f84b@syzkaller.appspotmail.com
Signed-off-by: Pavel Skripkin <paskripkin@gmail.com>
Link: https://lore.kernel.org/r/20220308194328.26220-1-paskripkin@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-03-23 09:10:44 +01:00
..
acecad.c Input: inline macros for MODULE_LICENSE, etc 2018-01-17 09:52:22 -08:00
aiptek.c Input: aiptek - properly check endpoint type 2022-03-23 09:10:44 +01:00
gtco.c Input: gtco - fix endpoint sanity check 2020-01-29 16:43:20 +01:00
hanwang.c Input: inline macros for MODULE_LICENSE, etc 2018-01-17 09:52:22 -08:00
kbtab.c Input: kbtab - sanity check for endpoint type 2019-08-25 10:47:49 +02:00
Kconfig Input: add Pegasus Notetaker tablet driver 2016-06-02 10:00:17 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pegasus_notetaker.c Input: pegasus_notetaker - fix endpoint sanity check 2020-01-29 16:43:20 +01:00
wacom_serial4.c Input: wacom_serial4 - add support for Wacom ArtPad II tablet 2019-03-13 14:02:38 -07:00