2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-09 14:14:00 +08:00
linux-next/drivers/usb/serial
Johan Hovold b2ca699076 USB: serial: fix null-pointer dereferences on disconnect
Make sure serial-driver dtr_rts is called with disc_mutex held after
checking the disconnected flag.

Due to a bug in the tty layer, dtr_rts may get called after a device has
been disconnected and the tty-device unregistered. Some drivers have had
individual checks for disconnect to make sure the disconnected interface
was not accessed, but this should really be handled in usb-serial core
(at least until the long-standing tty-bug has been fixed).

Note that the problem has been made more acute with commit 0998d06310
("device-core: Ensure drvdata = NULL when no driver is bound") as the
port data is now also NULL when dtr_rts is called resulting in further
oopses.

Reported-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-13 09:20:06 -08:00
..
aircable.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ark3116.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
belkin_sa.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
belkin_sa.h
bus.c usb-core: remove CONFIG_HOTPLUG ifdefs 2012-11-21 13:27:16 -08:00
ch341.c USB: ch341: fix port-data memory leak 2012-10-25 09:36:57 -07:00
console.c USB merge for 3.7-rc1 2012-10-01 13:23:01 -07:00
cp210x.c USB: add OWL CM-160 support to cp210x driver 2013-01-31 13:51:12 +01:00
cyberjack.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
cypress_m8.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
cypress_m8.h
digi_acceleport.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
empeg.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ezusb_convert.pl
f81232.c USB: f81232: fix port-data memory leak 2012-10-17 13:47:58 -07:00
ftdi_sio_ids.h USB: ftdi_sio: add Zolix FTDI PID 2013-02-02 13:31:52 +01:00
ftdi_sio.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
ftdi_sio.h USB: ftdi_sio: add support for FT-X series devices 2012-03-14 15:43:05 -07:00
funsoft.c USB: serial: funsoft.c: remove debug module parameter 2012-09-14 12:31:27 -07:00
garmin_gps.c USB: fix port probing and removal in garmin_gps 2012-10-16 10:25:55 -07:00
generic.c USB: serial: export usb_serial_generic_chars_in_buffer 2012-10-30 13:19:30 -07:00
hp4x.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
io_16654.h
io_edgeport.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
io_edgeport.h Fix common misspellings 2011-03-31 11:26:23 -03:00
io_ionsp.h
io_tables.h USB: io_edgeport: fix port-data memory leak 2012-10-17 13:47:58 -07:00
io_ti.c USB: io_ti: kill custom closing_wait implementation 2013-01-18 15:45:17 -08:00
io_ti.h
io_usbvend.h
ipaq.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ipw.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ir-usb.c USB merge for 3.7-rc1 2012-10-01 13:23:01 -07:00
iuu_phoenix.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
iuu_phoenix.h
Kconfig usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
keyspan_pda.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c usb: serial: keyspan: fixed coding style issues 2013-01-11 16:03:37 -08:00
keyspan.h USB: keyspan: fix NULL-pointer dereferences and memory leaks 2012-10-25 09:37:13 -07:00
kl5kusb105.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
kl5kusb105.h
kobil_sct.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
kobil_sct.h
Makefile usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
Makefile-keyspan_pda_fw
mct_u232.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
mct_u232.h Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
metro-usb.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
mos7720.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
mos7840.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
moto_modem.c USB: serial: rework usb_serial_register/deregister_drivers() 2012-05-08 15:46:14 -07:00
navman.c USB: Serial: navman.c: remove debug module parameter 2012-09-18 10:16:01 +01:00
omninet.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
opticon.c USB: opticon: switch to generic read implementation 2012-11-21 13:33:56 -08:00
option.c USB: option: add Yota / Megafon M100-1 4g modem 2013-02-13 08:48:31 -08:00
oti6858.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
oti6858.h
pl2303.c USB: pl2303: fix port-data memory leak 2012-10-16 10:25:54 -07:00
pl2303.h USB: serial: pl2303: rm duplicate id 2011-11-15 10:06:15 -08:00
qcaux.c USB: qcaux: add Pantech vendor class match 2012-09-21 09:42:02 -07:00
qcserial.c USB: qcserial: add Telit Gobi QDL device 2013-01-30 06:19:20 +01:00
quatech2.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
safe_serial.c USB: serial: safe-serial: fix up printk() usage 2012-09-18 17:07:24 +01:00
siemens_mpi.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
sierra.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
spcp8x5.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ssu100.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
symbolserial.c USB: Serial: symbolserial.c: remove debug module parameter 2012-09-18 10:16:20 +01:00
ti_usb_3410_5052.c USB: ti_usb_3410_5052: fix port-data memory leak 2012-10-17 13:47:59 -07:00
ti_usb_3410_5052.h USB: serial: ti_usb_3410_5052: Add support for the FRI2 serial console 2012-05-11 15:14:07 -07:00
usb_debug.c USB: serial: rework usb_serial_register/deregister_drivers() 2012-05-08 15:46:14 -07:00
usb_wwan.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
usb-serial.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
usb-wwan.h USB: usb-wwan: fix multiple memory leaks in error paths 2012-10-25 09:37:13 -07:00
visor.c USB: Serial: visor.c: remove debug module parameter 2012-09-18 10:16:28 +01:00
visor.h
vivopay-serial.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
whiteheat.c USB: whiteheat: fix port-data memory leak 2012-10-25 09:36:57 -07:00
whiteheat.h
xsens_mt.c usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
zio.c USB: serial: rework usb_serial_register/deregister_drivers() 2012-05-08 15:46:14 -07:00
zte_ev.c USB: serial: add zte_ev.c driver 2012-09-13 10:15:14 -07:00