Commit e9b667a
usb: usbtmc: Fix bug in pipe direction for control transfers
The syzbot fuzzer reported a minor bug in the usbtmc driver:
usb 5-1: BOGUS control dir, pipe 80001e80 doesn't match bRequestType 0
WARNING: CPU: 0 PID: 3813 at drivers/usb/core/urb.c:412
usb_submit_urb+0x13a5/0x1970 drivers/usb/core/urb.c:410
Modules linked in:
CPU: 0 PID: 3813 Comm: syz-executor122 Not tainted
5.17.0-rc5-syzkaller-00306-g2293be58d6a1 #0
...
Call Trace:
<TASK>
usb_start_wait_urb+0x113/0x530 drivers/usb/core/message.c:58
usb_internal_control_msg drivers/usb/core/message.c:102 [inline]
usb_control_msg+0x2a5/0x4b0 drivers/usb/core/message.c:153
usbtmc_ioctl_request drivers/usb/class/usbtmc.c:1947 [inline]
The problem is that usbtmc_ioctl_request() uses usb_rcvctrlpipe() for
all of its transfers, whether they are in or out. It's easy to fix.
CC: <stable@vger.kernel.org>
Reported-and-tested-by: syzbot+a48e3d1a875240cab5de@syzkaller.appspotmail.com
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/YiEsYTPEE6lOCOA5@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 2390710 commit e9b667a
1 file changed
Lines changed: 10 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1919 | 1919 | | |
1920 | 1920 | | |
1921 | 1921 | | |
| 1922 | + | |
1922 | 1923 | | |
1923 | 1924 | | |
1924 | 1925 | | |
| |||
1928 | 1929 | | |
1929 | 1930 | | |
1930 | 1931 | | |
| 1932 | + | |
| 1933 | + | |
1931 | 1934 | | |
1932 | 1935 | | |
1933 | 1936 | | |
1934 | 1937 | | |
1935 | 1938 | | |
1936 | | - | |
| 1939 | + | |
1937 | 1940 | | |
1938 | 1941 | | |
1939 | 1942 | | |
| |||
1944 | 1947 | | |
1945 | 1948 | | |
1946 | 1949 | | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
1947 | 1954 | | |
1948 | | - | |
| 1955 | + | |
1949 | 1956 | | |
1950 | 1957 | | |
1951 | 1958 | | |
| |||
1957 | 1964 | | |
1958 | 1965 | | |
1959 | 1966 | | |
1960 | | - | |
| 1967 | + | |
1961 | 1968 | | |
1962 | 1969 | | |
1963 | 1970 | | |
| |||
0 commit comments