]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
USB: serial: console: fix use-after-free after failed setup
authorJohan Hovold <johan@kernel.org>
Wed, 4 Oct 2017 09:01:13 +0000 (11:01 +0200)
committerTim Tianyang Chen <tianyang.chen@oracle.com>
Fri, 8 Dec 2017 17:36:21 +0000 (09:36 -0800)
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>
(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 <tianyang.chen@oracle.com>
Reviewed-by: Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
drivers/usb/serial/console.c

index 3806e7014199d13c892f32e8a03c1b37e286bddb..2938153fe7b1dc86c8140ca48327e40efb63d670 100644 (file)
@@ -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);