diff options
author | Johan Hovold <johan@kernel.org> | 2019-12-02 09:56:08 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-12-21 10:41:49 +0100 |
commit | 82acad8e13e8a66005651f610510e5701437f40b (patch) | |
tree | 3bdbb070d2a089fba05f8bdd4a4f1c9cb9f0730b | |
parent | c7fbb19856f4444558c400a646d19ca088cd1c31 (diff) | |
download | linux-stable-82acad8e13e8a66005651f610510e5701437f40b.tar.gz linux-stable-82acad8e13e8a66005651f610510e5701437f40b.tar.bz2 linux-stable-82acad8e13e8a66005651f610510e5701437f40b.zip |
staging: gigaset: fix general protection fault on probe
commit 53f35a39c3860baac1e5ca80bf052751cfb24a99 upstream.
Fix a general protection fault when accessing the endpoint descriptors
which could be triggered by a malicious device due to missing sanity
checks on the number of endpoints.
Reported-by: syzbot+35b1c403a14f5c89eba7@syzkaller.appspotmail.com
Fixes: 07dc1f9f2f80 ("[PATCH] isdn4linux: Siemens Gigaset drivers - M105 USB DECT adapter")
Cc: stable <stable@vger.kernel.org> # 2.6.17
Cc: Hansjoerg Lipp <hjlipp@web.de>
Cc: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20191202085610.12719-2-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/isdn/gigaset/usb-gigaset.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/isdn/gigaset/usb-gigaset.c b/drivers/isdn/gigaset/usb-gigaset.c index 5f306e2eece5..20591f6d5364 100644 --- a/drivers/isdn/gigaset/usb-gigaset.c +++ b/drivers/isdn/gigaset/usb-gigaset.c @@ -688,6 +688,11 @@ static int gigaset_probe(struct usb_interface *interface, return -ENODEV; } + if (hostif->desc.bNumEndpoints < 2) { + dev_err(&interface->dev, "missing endpoints\n"); + return -ENODEV; + } + dev_info(&udev->dev, "%s: Device matched ... !\n", __func__); /* allocate memory for our device state and initialize it */ |