summaryrefslogtreecommitdiff
path: root/drivers/input
diff options
context:
space:
mode:
authorOliver Neukum <oneukum@suse.com>2019-08-06 09:05:55 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-25 10:51:44 +0200
commitb8cab0b87c0195620f825f567f40ffe135f58af8 (patch)
tree174a12285a056dc52e87909adb43a1507a4cdf7b /drivers/input
parent9ab5ae53eeb5beb61f66dd7c6eb9da653def97d2 (diff)
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 db64adfbe1af..3e1ea912b41d 100644
--- a/drivers/input/joystick/iforce/iforce-usb.c
+++ b/drivers/input/joystick/iforce/iforce-usb.c
@@ -145,7 +145,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;