Эх сурвалжийг харах

USB: serial: console: fix use-after-free after failed setup

Make sure to reset the USB-console port pointer when console setup fails
in order to avoid having the struct usb_serial be prematurely freed by
the console code when the device is later disconnected.

Fixes: 73e487fdb75f ("[PATCH] USB console: fix disconnection issues")
Cc: stable <stable@vger.kernel.org>	# 2.6.18
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Johan Hovold 7 жил өмнө
parent
commit
299d7572e4

+ 1 - 0
drivers/usb/serial/console.c

@@ -186,6 +186,7 @@ static int usb_console_setup(struct console *co, char *options)
 	tty_kref_put(tty);
 	tty_kref_put(tty);
  reset_open_count:
  reset_open_count:
 	port->port.count = 0;
 	port->port.count = 0;
+	info->port = NULL;
 	usb_autopm_put_interface(serial->interface);
 	usb_autopm_put_interface(serial->interface);
  error_get_interface:
  error_get_interface:
 	usb_serial_put(serial);
 	usb_serial_put(serial);