USB: core: WARN if pipe direction != setup packet direction
authorAlan Stern <stern@rowland.harvard.edu>
Sat, 22 May 2021 02:16:23 +0000 (22:16 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 22 May 2021 08:37:25 +0000 (10:37 +0200)
commit5cc59c418fde9d02859996707b9d5dfd2941c50b
tree5577775d3ae3a9334ba6c3705a9cd0f3294e242c
parent7257fbc7c598617ca71605089264c61636d52157
USB: core: WARN if pipe direction != setup packet direction

When a control URB is submitted, the direction indicated by URB's pipe
member is supposed to match the direction indicated by the setup
packet's bRequestType member.  A mismatch could lead to trouble,
depending on which field the host controller drivers use for
determining the actual direction.

This shouldn't ever happen; it would represent a careless bug in a
kernel driver somewhere.  This patch adds a dev_WARN_ONCE to let
people know about the potential problem.

Suggested-by: "Geoffrey D. Bennett" <g@b4.vu>
Reviewed-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20210522021623.GB1260282@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/urb.c