summaryrefslogtreecommitdiffstats
path: root/ipc/mqueue.c
diff options
context:
space:
mode:
authorPavel Skripkin <paskripkin@gmail.com>2022-03-13 22:56:32 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-03-23 09:10:44 +0100
commit6de20111cd0bb7da9b2294073ba00c7d2a6c1c4f (patch)
treec4813c32fc7d55969a1351b5548b3547e7d8842c /ipc/mqueue.c
parent609a7119bffe3ddd7c93f2fa65be8917e02a0b7e (diff)
downloadlinux-stable-6de20111cd0bb7da9b2294073ba00c7d2a6c1c4f.tar.gz
linux-stable-6de20111cd0bb7da9b2294073ba00c7d2a6c1c4f.tar.bz2
linux-stable-6de20111cd0bb7da9b2294073ba00c7d2a6c1c4f.zip
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: 8e20cf2bce12 ("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>
Diffstat (limited to 'ipc/mqueue.c')
0 files changed, 0 insertions, 0 deletions