linux/drivers/usb/serial
Johan Hovold 91a1ff4d53 USB: serial: mos7720: fix use-after-free on probe errors
The interrupt URB was submitted on probe but never stopped on probe
errors. This can lead to use-after-free issues in the completion
handler when accessing the freed usb-serial struct:

Unable to handle kernel paging request at virtual address 6b6b6be7
...
[<bf052e70>] (mos7715_interrupt_callback [mos7720]) from [<c052a894>] (__usb_hcd_giveback_urb+0x80/0x140)
[<c052a894>] (__usb_hcd_giveback_urb) from [<c052a9a4>] (usb_hcd_giveback_urb+0x50/0x138)
[<c052a9a4>] (usb_hcd_giveback_urb) from [<c0550684>] (musb_giveback+0xc8/0x1cc)

Fixes: b69578df7e ("USB: usbserial: mos7720: add support for parallel
port on moschip 7715")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
2017-01-04 10:37:19 +01:00
..
aircable.c USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
ark3116.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
belkin_sa.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
belkin_sa.h
bus.c USB: serial: clean up bus probe error handling 2015-02-26 17:13:05 +01:00
ch341.c USB: serial: ch341: add debug output for chip version 2016-10-24 17:41:30 +02:00
console.c tty: Replace ASYNC_INITIALIZED bit and update atomically 2016-04-30 09:26:55 -07:00
cp210x.c USB-serial updates for v4.10-rc1 2016-12-01 16:12:12 +01:00
cyberjack.c USB: serial: cyberjack: fix NULL-deref at open 2017-01-04 10:37:14 +01:00
cypress_m8.c USB: cypress_m8: add endpoint sanity check 2016-03-31 09:28:46 -07:00
cypress_m8.h USB: cypress_m8: only wake up MSR queue on changes 2014-01-03 12:42:24 -08:00
digi_acceleport.c tty: Replace TTY_THROTTLED bit tests with tty_throttled() 2016-04-30 09:26:55 -07:00
empeg.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ezusb_convert.pl
f81232.c USB: f81232: fix some minor style issues 2015-03-27 17:36:29 +01:00
f81534.c USB: serial: f81534: detect errors from f81534_logic_to_phy_port() 2017-01-02 10:31:08 +01:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add support for TI CC3200 LaunchPad 2016-11-07 10:23:03 +01:00
ftdi_sio.c USB-serial updates for v4.10-rc1 2016-12-01 16:12:12 +01:00
ftdi_sio.h USB: serial: fix compare_const_fl.cocci warnings 2016-02-28 14:35:58 +01:00
garmin_gps.c USB: serial: garmin_gps: fix memory leak on failed URB submit 2017-01-04 10:37:15 +01:00
generic.c USB: serial: use variable for status 2016-07-16 12:45:39 +02:00
io_16654.h
io_edgeport.c USB: serial: io_edgeport: fix NULL-deref at open 2017-01-04 10:37:15 +01:00
io_edgeport.h
io_ionsp.h
io_tables.h
io_ti.c USB: serial: io_ti: bind to interface after fw download 2017-01-04 10:37:17 +01:00
io_ti.h
io_usbvend.h USB: io_ti: fix firmware download on big-endian machines (part 2) 2014-05-27 15:12:57 -07:00
ipaq.c USB: ipaq.c: fix a timeout loop 2015-12-18 09:30:34 -08:00
ipw.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ir-usb.c USB: serial: remove redundant OOM messages 2014-01-03 12:31:46 -08:00
iuu_phoenix.c USB: serial: iuu_phoenix: fix NULL-deref at open 2017-01-04 10:37:18 +01:00
iuu_phoenix.h
Kconfig USB: serial: add Fintek F81532/534 driver 2016-11-29 11:13:16 +01:00
keyspan_pda.c USB: serial: keyspan_pda: verify endpoints at probe 2017-01-04 10:37:18 +01:00
keyspan_usa26msg.h USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: serial: keyspan: fix debug and error messages 2016-05-10 09:39:57 +02:00
keyspan.h
kl5kusb105.c USB: serial: kl5kusb105: abort on open exception path 2016-11-30 10:54:30 +01:00
kl5kusb105.h
kobil_sct.c USB: serial: kobil_sct: fix NULL-deref in write 2017-01-04 10:37:18 +01:00
kobil_sct.h
Makefile USB: serial: add Fintek F81532/534 driver 2016-11-29 11:13:16 +01:00
Makefile-keyspan_pda_fw
mct_u232.c USB: mct_u232: add sanity checking in probe 2016-03-31 09:28:46 -07:00
mct_u232.h
metro-usb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
mos7720.c USB: serial: mos7720: fix use-after-free on probe errors 2017-01-04 10:37:19 +01:00
mos7840.c USB: serial: fix invalid user-pointer checks 2016-11-11 17:54:04 +01:00
mxuport.c USB patches for 4.7-rc1 2016-05-20 21:12:25 -07:00
navman.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
omninet.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
opticon.c USB: serial: fix invalid user-pointer checks 2016-11-11 17:54:04 +01:00
option.c USB: serial: option: add dlink dwm-158 2016-12-09 11:44:11 +01:00
oti6858.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
oti6858.h
pl2303.c USB: pl2303: fix baud-rate divisor calculations 2015-07-30 18:11:07 +02:00
pl2303.h USB: pl2303: Remove support for Samsung I330 2015-04-29 12:34:24 +02:00
qcaux.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
qcserial.c USB: qcserial: add Sierra Wireless EM74xx device ID 2016-03-02 09:35:32 +01:00
quatech2.c USB: serial: fix invalid user-pointer checks 2016-11-11 17:54:04 +01:00
safe_serial.c USB: serial: fix boolinit.cocci warnings 2016-02-28 14:36:53 +01:00
sierra.c tty: Replace ASYNC_INITIALIZED bit and update atomically 2016-04-30 09:26:55 -07:00
spcp8x5.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
ssu100.c USB: serial: fix invalid user-pointer checks 2016-11-11 17:54:04 +01:00
symbolserial.c USB: symbolserial: Correct transferred data size 2015-08-18 10:06:22 -07:00
ti_usb_3410_5052.c USB: serial: fix invalid user-pointer checks 2016-11-11 17:54:04 +01:00
usb_debug.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usb_wwan.c USB: serial: fix invalid user-pointer checks 2016-11-11 17:54:04 +01:00
usb-serial-simple.c USB: serial: simple: add support for another Infineon flashloader 2016-09-12 10:19:41 +02:00
usb-serial.c USB: serial: fix potential NULL-dereference at probe 2016-10-21 16:47:17 +02:00
usb-wwan.h USB: usb_wwan/option: generalize option_send_setup for other drivers 2015-10-09 12:42:40 +02:00
visor.c USB: serial: visor: fix crash on detecting device without write_urbs 2016-01-25 11:40:45 +01:00
visor.h USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
whiteheat.c USB: whiteheat: fix potential null-deref at probe 2015-09-23 12:15:19 -07:00
whiteheat.h
wishbone-serial.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
xsens_mt.c usb: serial: xsens_mt: always bind to interface number 1 2014-09-04 11:18:26 +02:00