summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorOliver Neukum <oneukum@suse.com>2019-08-06 19:05:55 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-25 11:47:49 +0300
commitf13de3d677d1084485c0e4978d6e9f8b44f9972d (patch)
treec0dd6843c8569f77b92f991908b054cd3758a688 /drivers/input
parent08b3af00a16188f3299ab6dc2c685947d61bd787 (diff)
downloadlinux-f13de3d677d1084485c0e4978d6e9f8b44f9972d.tar.xz
Input: iforce - add sanity checks
commit 849f5ae3a513c550cad741c68dd3d7eb2bcc2a2c upstream. The endpoint type should also be checked before a device is accepted. Reported-by: syzbot+5efc10c005014d061a74@syzkaller.appspotmail.com Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/joystick/iforce/iforce-usb.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c
index 78073259c9a1..c431df7401b4 100644
--- a/drivers/input/joystick/iforce/iforce-usb.c
+++ b/drivers/input/joystick/iforce/iforce-usb.c
@@ -141,7 +141,12 @@ static int iforce_usb_probe(struct usb_interface *intf,
return -ENODEV;
epirq = &interface->endpoint[0].desc;
+ if (!usb_endpoint_is_int_in(epirq))
+ return -ENODEV;
+
epout = &interface->endpoint[1].desc;
+ if (!usb_endpoint_is_int_out(epout))
+ return -ENODEV;
if (!(iforce = kzalloc(sizeof(struct iforce) + 32, GFP_KERNEL)))
goto fail;