• Peter Hurley's avatar
    tty: Retry failed reopen if tty teardown in-progress · 7f22f6c9
    Peter Hurley authored
    A small window exists where a tty reopen will observe the tty
    just prior to imminent teardown (tty->count == 0); in this case, open()
    returns EIO to userspace.
    
    Instead, retry the open after checking for signals and yielding;
    this interruptible retry loop allows teardown to commence and initialize
    a new tty on retry. Never retry the BSD master pty reopen; there is no
    guarantee the pty pair teardown is imminent since the slave file
    descriptors may remain open indefinitely.
    Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
    Cc: stable <stable@vger.kernel.org> # 4.4
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    7f22f6c9
tty_io.c 89.1 KB