mirror of
https://abf.rosa.ru/djam/kernel-5.15.git
synced 2025-02-23 18:42:55 +00:00
38 lines
1.4 KiB
Diff
38 lines
1.4 KiB
Diff
From 14816b16fa0adac24f82492f18fa62c55acabbbe Mon Sep 17 00:00:00 2001
|
|
From: Johan Hovold <johan@kernel.org>
|
|
Date: Wed, 8 Feb 2017 18:53:08 +0100
|
|
Subject: USB: serial: console: fix uninitialised spinlock
|
|
|
|
From: Johan Hovold <johan@kernel.org>
|
|
|
|
commit 14816b16fa0adac24f82492f18fa62c55acabbbe upstream.
|
|
|
|
Since commit 4a510969374a ("tty: Make tty_files_lock per-tty") a new
|
|
tty_struct spin lock is taken in the tty release path, but the
|
|
USB-serial-console hack was never updated hence leaving the lock of its
|
|
"fake" tty uninitialised. This was eventually detected by lockdep.
|
|
|
|
Make sure to initialise the new lock also for the fake tty to address
|
|
this regression.
|
|
|
|
Yes, this code is a mess, but cleaning it up is left for another day.
|
|
|
|
Fixes: 4a510969374a ("tty: Make tty_files_lock per-tty")
|
|
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Signed-off-by: Johan Hovold <johan@kernel.org>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
|
|
---
|
|
drivers/usb/serial/console.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
--- a/drivers/usb/serial/console.c
|
|
+++ b/drivers/usb/serial/console.c
|
|
@@ -143,6 +143,7 @@ static int usb_console_setup(struct cons
|
|
tty->driver = usb_serial_tty_driver;
|
|
tty->index = co->index;
|
|
init_ldsem(&tty->ldisc_sem);
|
|
+ spin_lock_init(&tty->files_lock);
|
|
INIT_LIST_HEAD(&tty->tty_files);
|
|
kref_get(&tty->driver->kref);
|
|
__module_get(tty->driver->owner);
|