On Wed, Sep 05, 2018 at 12:07:03PM +0200, Oliver Neukum wrote: > If we filter flags before they reach the core we need to generate our > own warnings. > > Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx> > Fixes: 0cb54a3e47cb ("USB: debugging code shouldn't alter control flow") > --- > drivers/usb/core/devio.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c > index 263dd2f309fb..244417d0dfd1 100644 > --- a/drivers/usb/core/devio.c > +++ b/drivers/usb/core/devio.c > @@ -1697,6 +1697,11 @@ static int proc_do_submiturb(struct usb_dev_state *ps, struct usbdevfs_urb *uurb > u |= URB_NO_INTERRUPT; > as->urb->transfer_flags = u; > > + if (!allow_short && uurb->flags & USBDEVFS_URB_SHORT_NOT_OK) > + dev_warn(&ps->dev->dev, "Requested nonsensical USBDEVFS_URB_SHORT_NOT_OK.\n"); > + if (!allow_zero && uurb->flags & USBDEVFS_URB_ZERO_PACKET) > + dev_warn(&ps->dev->dev, "Requested nonsensical USBDEVFS_URB_ZERO_PACKET.\n"); We should not make it trivial for userspace to spam the kernel log if at all possible. Returning an error is probably the better thing to do here, not just silently fix it up or ignore it. thanks, greg k-h