Messages in this thread | | | From | Bjørn Mork <> | Subject | Re: [PATCH v2] usb: devio: Add ioctl to disallow detaching kernel USB drivers. | Date | Mon, 25 Jan 2016 16:32:14 +0100 |
| |
Alan Stern <stern@rowland.harvard.edu> writes: > On Mon, 25 Jan 2016, Bjørn Mork wrote: > >> I don't feel much like an expert here, but I can certainly make up an >> opinion anyway :) >> >> Since 64bits kernels allow usb devio with interface numbers up to 63, I >> guess you need __u64 to avoid limiting the range? Limiting will create >> all sorts of followup problems, so it's definitely easiest to just go >> with __u64. > > But the Linux USB stack only allows up to 32 interfaces (see > include/linux/usb.h): > > /* this maximum is arbitrary */ > #define USB_MAXINTERFACES 32
Ah, I totally missed that. Thanks
> So there's no point using a 64-bit value. > > On the other hand, this value is supposed to be the same size as > ps->ifclaimed, which is used as an argument to clear_bit(), set_bit(), > and test_bit(). Those routines require unsigned long.
Maybe the input to these should be clamped to USB_MAXINTERFACES?
Bjørn
| |