On Sun, 21 Apr 2024 at 09:04, Linus Torvalds wrote: > > The only option is to *mark* the ones that are atomic. Which was my suggestion. Actually, another option would be to just return an error at 'set_ldisc()' time. Sadly, the actual "tty->ops->set_ldisc()" function not only returns 'void' (easy enough to change - there aren't that many of them), but it's called too late after the old ldisc has already been dropped. It's basically a "inform tty about new ldisc" and is not useful for a "is this ok"? But we could trivially add a "ldisc_ok()" function, and have the vt driver say "I only accept N_TTY". Something like this ENTIRELY UNTESTED patch. Again - this is untested, and maybe there are other tty drivers that have issues with the stranger line disciplines, but this at least seems simple and fairly easy to explain why we do what we do.. And if pty's really need the same thing, that would be easy to add. But I actually think that at least pty slaves should *not* limit ldiscs, because the whole point of a pty slave is to look like another tty. If you want to emulate a serial device over a network, the way to do it would be with a pty. Hmm? Linus