2.2.5ac2 "Non blocking tty fix" breaks ssh on Alpha

Rob van Nieuwkerk (robn@verdi.et.tudelft.nl)
Thu, 8 Apr 1999 00:41:58 +0200 (CEST)


Hi Alan,

FYI:
We found out that the patch below which was introduced in 2.2.5ac2 makes
that sshd can't start interactive shells anymore on our Alpha machine.
Non-interactive commands still work.
This is logged to syslog:

"sshd[293]: fatal: Local: Command terminated on signal 1."

When we replace n_tty.c in our 2.2.5ac4 tree with the version from
2.2.5ac1 the problem goes away.

Greetings,
Rob van Nieuwkerk

Sysinfo:
--------
- 2 CPU Alpha Server 2000 ("Sable")
- Linux 2.2.5ac4 SMP kernel
- sshd 2.0.12 (with remote ssh-1.2.26 client)
- up-to-date Red Hat 5.2

The "problem" patch from 2.2.5ac2:
----------------------------------
o Non blocking tty fix (Tobias Ringstrom)

--- n_tty.c.orig Wed Apr 7 23:00:40 1999
+++ n_tty.c.ac4.orig Tue Apr 6 18:28:38 1999
@@ -922,8 +922,14 @@
}
}

- if (down_interruptible(&tty->atomic_read))
- return -ERESTARTSYS;
+ if (file->f_flags & O_NONBLOCK) {
+ if (down_trylock(&tty->atomic_read))
+ return -EAGAIN;
+ }
+ else {
+ if (down_interruptible(&tty->atomic_read))
+ return -ERESTARTSYS;
+ }

add_wait_queue(&tty->read_wait, &wait);
set_bit(TTY_DONT_FLIP, &tty->flags);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/