Ugh let's try that again in plain text (How does the Android gmail client still not get this right‽)
On Wed, Jan 4, 2017 at 2:47 PM, Greg Kroah-Hartman <gre...@linuxfoundation.org> wrote: > On Wed, Jan 04, 2017 at 02:01:00PM -0600, Matthew Garrett wrote: >> On Wed, Jan 4, 2017 at 1:47 PM, Greg Kroah-Hartman >> <gre...@linuxfoundation.org> wrote: >> > You know the device type and vendor/product id before you authorize it, >> > you should be able to do this type of detection otherwise it seems >> > pretty pointless :) >> >> You know the vendor and product ID, which doesn't tell you whether one >> of the endpoints is a network device or a keyboard. You need to know >> that. > > Are you sure you don't have the configuration information as well? That > should tell you... usb_choose_configuration() hasn't been called at this point, so no - we don't create any device entries, so there's no way for userspace to know anything (there isn't even a uevent on device plug). And even if you could scrape the info, you still have no way of knowing what configuration the kernel will choose if the device has multiple. > And for network devices, they are almost all just vendor/product ids, > not many use the class protocol. Plenty of stuff uses CDC.