mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
USB-serial fixes for v4.9-rc2
Here's a fix for a NULL-deref during probe which could be triggered by a malicious device, and a fix for some missing error handling in cp210x that also leaked some bits from the stack. Included is also a new device id for ftdi_sio. Signed-off-by: Johan Hovold <johan@kernel.org> -----BEGIN PGP SIGNATURE----- iQIuBAABCAAYBQJYCi0cERxqb2hhbkBrZXJuZWwub3JnAAoJEEEN5E/e4bSVV5IP /3EdMg0u0RCtXoVgf/gUV3/mDa5MfEC/qCVVDP3HiHicKFE47Fwb+0ljlF1u+NsS QKveNCW4+H/bfdTKfQLu5EDS4nlxba7ONRhBR3+KbwXIftoRJC05JYWmE/msXbVD RGPv/pA0xL4YfDGvb9hlKqVkv9OlLiVosK9SXEiSTwtSkLbSgtWjBtIaZ5Z3WgrE AYFf/p+L+KRMi9nZ03VIr85zba45tmGFxp/bUjfBERPYZywK8GsylBWOKMsN6pPz 6GR0kMWveh1z7+E8BflghcVVeJ8J/sFqDUPgIS9r51ptZmttWU0phVPhNY3VuPf4 Bl713koJgJh+UQjIEHmU7gmIQkJhdo+79NxtO6caYdLCMBKlVEfQkRZ/00CE4d19 wJFLFEmWEuv+bYgcOAWzENBunu6HUzRpx+cLDdGL011eajnpABEPnPFkt/GAMv5L 3krX/zJrw2gPyrLoWQ9bg7/n4AN/Yut1rA2zJ7RUCHl7u0Q3BU6xeA52dE7ysZFZ T662kYAWjc1E0Dtc8VgK6AV7Lhs64n8JvrvZ3QJM4TP6bWabr1hZOeocVXYBacDn 4yFI7Yj8a5nrapFzDANFN3pA8uiWlgA6lbj+TFvNRodDfyxHxsXqslaZHP+ZvkLE wZj1IfWJtiu14dfNCaBh8k3s439ValZLUgz21VCzZrhX =jD5W -----END PGP SIGNATURE----- Merge tag 'usb-serial-4.9-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus Johan writes: USB-serial fixes for v4.9-rc2 Here's a fix for a NULL-deref during probe which could be triggered by a malicious device, and a fix for some missing error handling in cp210x that also leaked some bits from the stack. Included is also a new device id for ftdi_sio. Signed-off-by: Johan Hovold <johan@kernel.org>
This commit is contained in:
commit
36de70ea8d
4 changed files with 10 additions and 5 deletions
|
@ -1077,7 +1077,9 @@ static int cp210x_tiocmget(struct tty_struct *tty)
|
|||
u8 control;
|
||||
int result;
|
||||
|
||||
cp210x_read_u8_reg(port, CP210X_GET_MDMSTS, &control);
|
||||
result = cp210x_read_u8_reg(port, CP210X_GET_MDMSTS, &control);
|
||||
if (result)
|
||||
return result;
|
||||
|
||||
result = ((control & CONTROL_DTR) ? TIOCM_DTR : 0)
|
||||
|((control & CONTROL_RTS) ? TIOCM_RTS : 0)
|
||||
|
|
|
@ -986,7 +986,8 @@ static const struct usb_device_id id_table_combined[] = {
|
|||
/* ekey Devices */
|
||||
{ USB_DEVICE(FTDI_VID, FTDI_EKEY_CONV_USB_PID) },
|
||||
/* Infineon Devices */
|
||||
{ USB_DEVICE_INTERFACE_NUMBER(INFINEON_VID, INFINEON_TRIBOARD_PID, 1) },
|
||||
{ USB_DEVICE_INTERFACE_NUMBER(INFINEON_VID, INFINEON_TRIBOARD_TC1798_PID, 1) },
|
||||
{ USB_DEVICE_INTERFACE_NUMBER(INFINEON_VID, INFINEON_TRIBOARD_TC2X7_PID, 1) },
|
||||
/* GE Healthcare devices */
|
||||
{ USB_DEVICE(GE_HEALTHCARE_VID, GE_HEALTHCARE_NEMO_TRACKER_PID) },
|
||||
/* Active Research (Actisense) devices */
|
||||
|
|
|
@ -626,8 +626,9 @@
|
|||
/*
|
||||
* Infineon Technologies
|
||||
*/
|
||||
#define INFINEON_VID 0x058b
|
||||
#define INFINEON_TRIBOARD_PID 0x0028 /* DAS JTAG TriBoard TC1798 V1.0 */
|
||||
#define INFINEON_VID 0x058b
|
||||
#define INFINEON_TRIBOARD_TC1798_PID 0x0028 /* DAS JTAG TriBoard TC1798 V1.0 */
|
||||
#define INFINEON_TRIBOARD_TC2X7_PID 0x0043 /* DAS JTAG TriBoard TC2X7 V1.0 */
|
||||
|
||||
/*
|
||||
* Acton Research Corp.
|
||||
|
|
|
@ -1078,7 +1078,8 @@ static int usb_serial_probe(struct usb_interface *interface,
|
|||
|
||||
serial->disconnected = 0;
|
||||
|
||||
usb_serial_console_init(serial->port[0]->minor);
|
||||
if (num_ports > 0)
|
||||
usb_serial_console_init(serial->port[0]->minor);
|
||||
exit:
|
||||
module_put(type->driver.owner);
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue