tty: Prevent tty teardown during tty_write_message()
tty_write_message() allows the caller to directly write to a specific tty. Since the line discipline is bypassed for the direct write, nothing prevents the tty from being torn down after the tty count is checked. Hold the tty lock for the duration of the direct write. Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1e86b5bf15
commit
4b41b9539a
1 changed files with 2 additions and 4 deletions
|
@ -1200,11 +1200,9 @@ void tty_write_message(struct tty_struct *tty, char *msg)
|
|||
if (tty) {
|
||||
mutex_lock(&tty->atomic_write_lock);
|
||||
tty_lock(tty);
|
||||
if (tty->ops->write && tty->count > 0) {
|
||||
tty_unlock(tty);
|
||||
if (tty->ops->write && tty->count > 0)
|
||||
tty->ops->write(tty, msg, strlen(msg));
|
||||
} else
|
||||
tty_unlock(tty);
|
||||
tty_unlock(tty);
|
||||
tty_write_unlock(tty);
|
||||
}
|
||||
return;
|
||||
|
|
Loading…
Add table
Reference in a new issue