mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
cdc-acm: hardening against malicious devices
This should fix the last holes against malicious devices still open in cdc-acm. It cannot go into stable due to the introduction of the common parser. The fix for stable already merged also covers the problems this patch fixes. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3a383cc0b8
commit
2ad9d544f2
@ -1179,6 +1179,9 @@ static int acm_probe(struct usb_interface *intf,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!intf->cur_altsetting)
|
||||
return -EINVAL;
|
||||
|
||||
if (!buflen) {
|
||||
if (intf->cur_altsetting->endpoint &&
|
||||
intf->cur_altsetting->endpoint->extralen &&
|
||||
@ -1232,6 +1235,8 @@ static int acm_probe(struct usb_interface *intf,
|
||||
dev_dbg(&intf->dev, "no interfaces\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
if (!data_interface->cur_altsetting || !control_interface->cur_altsetting)
|
||||
return -ENODEV;
|
||||
|
||||
if (data_intf_num != call_intf_num)
|
||||
dev_dbg(&intf->dev, "Separate call control interface. That is not fully supported.\n");
|
||||
|
Loading…
Reference in New Issue
Block a user