Skip to content

Commit

Permalink
usb: interface authorization: Control interface probing and claiming
Browse files Browse the repository at this point in the history
Driver probings and interface claims get rejected
if an interface is not authorized.

Signed-off-by: Stefan Koch <skoch@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Stefan Koch authored and Greg Kroah-Hartman committed Aug 14, 2015
1 parent 1d958be commit de7718b
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions drivers/usb/core/driver.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,10 @@ static int usb_probe_interface(struct device *dev)
if (udev->authorized == 0) {
dev_err(&intf->dev, "Device is not authorized for usage\n");
return error;
} else if (intf->authorized == 0) {
dev_err(&intf->dev, "Interface %d is not authorized for usage\n",
intf->altsetting->desc.bInterfaceNumber);
return error;
}

id = usb_match_dynamic_id(intf, driver);
Expand Down Expand Up @@ -508,6 +512,10 @@ int usb_driver_claim_interface(struct usb_driver *driver,
if (dev->driver)
return -EBUSY;

/* reject claim if not iterface is not authorized */
if (!iface->authorized)
return -ENODEV;

udev = interface_to_usbdev(iface);

dev->driver = &driver->drvwrap.driver;
Expand Down

0 comments on commit de7718b

Please sign in to comment.