USB: serial: console: move mutex_unlock() before usb_serial_put()
authorLiang He <windhl@126.com>
Mon, 19 Sep 2022 10:48:24 +0000 (18:48 +0800)
committerJohan Hovold <johan@kernel.org>
Mon, 19 Sep 2022 13:30:16 +0000 (15:30 +0200)
While in current version there is no use-after-free as USB serial
core holds another reference when the console is registered, we
should better unlock before dropping the reference in
usb_console_setup().

Fixes: 7bd032dc2793 ("USB serial: update the console driver")
Signed-off-by: Liang He <windhl@126.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/console.c

index b97aa40..da19a5f 100644 (file)
@@ -189,8 +189,8 @@ static int usb_console_setup(struct console *co, char *options)
        info->port = NULL;
        usb_autopm_put_interface(serial->interface);
  error_get_interface:
-       usb_serial_put(serial);
        mutex_unlock(&serial->disc_mutex);
+       usb_serial_put(serial);
        return retval;
 }