On Mon, Jun 03, 2019 at 05:24:10PM -0700, Dmitry Torokhov wrote: > Hi Alan, Greg, > > When running software in a jailed environment where sysfs or udev is not > readily available and one can only have an FD to usbdevfs device passed > into the jail, there is a desire to allow libusb working. Alan recently > added USBDEVFS_GET_SPEED, but we are still missing bus number and list > of port numbers on the way to the root to be able to better identify the > device in question. > > What do you think about adding a new ioctl: > > struct usbdevfs_connectinfo_ex { > __u32 size; /* size of the structure from the kernel POV */ > __u32 busnum; > __u32 devnum; > __u32 speed; /* USB_SPEED_* form ch9.h */ > u8 num_ports; /* Number of entries in port_numbers array */ > u8 port_numbers[31]; /* Current limit in USB3.0 spec is 7 */ > }; > > /* > * Returns struct usbdevfs_connectinfo_ex; length is variable to allow > * extending size of the data returned. > */ > #define USBDEVFS_CONNINFO_EX(len) _IOC(_IOC_READ, 'U', 32, len) Sounds reasonable, as long as you get the 'variable data' portion correct :) thanks, greg k-h