From: Johan Hovold Date: Wed, 4 Oct 2017 09:01:13 +0000 (+0200) Subject: USB: serial: console: fix use-after-free after failed setup X-Git-Tag: v4.1.12-124.31.3~1493 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=caac2b52a2546ba4b930defffd79ea3fe6f03f29;p=users%2Fjedix%2Flinux-maple.git 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 # 2.6.18 Acked-by: Greg Kroah-Hartman Signed-off-by: Johan Hovold (cherry picked from commit 299d7572e46f98534033a9e65973f13ad1ce9047) Orabug: 27206824 CVE: CVE-2017-16525 This bug is partly caused by a clean-up patch that is not merged in uek4, so it only needs 1 commit to fix it. Signed-off-by: Tim Tianyang Chen Reviewed-by: Reviewed-by: Jack Vogel --- diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c index 3806e7014199..2938153fe7b1 100644 --- a/drivers/usb/serial/console.c +++ b/drivers/usb/serial/console.c @@ -189,6 +189,7 @@ static int usb_console_setup(struct console *co, char *options) tty_kref_put(tty); reset_open_count: port->port.count = 0; + info->port = NULL; usb_autopm_put_interface(serial->interface); error_get_interface: usb_serial_put(serial);