summaryrefslogtreecommitdiffstats
path: root/drivers/usb/Makefile
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2020-03-16 22:11:35 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-03-17 20:03:28 +0100
commit52974d94a206ce428d9d9b6eaa208238024be82a (patch)
treee32d8daf2cd47c9d9caf725280c120a27f1271ed /drivers/usb/Makefile
parentusb: musb: jz4740: Add support for the JZ4770 (diff)
downloadlinux-52974d94a206ce428d9d9b6eaa208238024be82a.tar.xz
linux-52974d94a206ce428d9d9b6eaa208238024be82a.zip
usb: musb: fix crash with highmen PIO and usbmon
When handling a PIO bulk transfer with highmem buffer, a temporary mapping is assigned to urb->transfer_buffer. After the transfer is complete, an invalid address is left behind in this pointer. This is not ordinarily a problem since nothing touches that buffer before the urb is released. However, when usbmon is active, usbmon_urb_complete() calls (indirectly) mon_bin_get_data() which does access the transfer buffer if it is set. To prevent an invalid memory access here, reset urb->transfer_buffer to NULL when finished (musb_host_rx()), or do not set it at all (musb_host_tx()). Fixes: 8e8a55165469 ("usb: musb: host: Handle highmem in PIO mode") Signed-off-by: Mans Rullgard <mans@mansr.com> Cc: stable@vger.kernel.org Signed-off-by: Bin Liu <b-liu@ti.com> Link: https://lore.kernel.org/r/20200316211136.2274-8-b-liu@ti.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions