Re: [PATCH] tty: Remove dead termiox code

From: Christoph Hellwig
Date: Tue Dec 08 2020 - 06:14:12 EST


On Fri, Dec 04, 2020 at 09:20:39AM +0100, Jiri Slaby wrote:
> > > > Delete this dead code; but leave the definition of struct termiox in the
> > > > UAPI headers intact.
> > >
> > > I am thinking -- can/should we mark the structure as deprecated so that
> > > userspace stops using it eventually?
> >
> > If it doesn't do anything, how can userspace even use it today? :)
>
> Well, right. I am in favor to remove it, BUT: what if someone tries that
> ioctl and bails out if EINVAL is returned. I mean: if they define a local
> var of that struct type and pass it to the ioctl, we would break the build
> by removing the struct completely. Even if the code didn't do anything
> useful, it still could be built. So is this very potential breakage OK?

Um, we do guarantee a stable ABI. We have never guaranteed that all old
crappy code will continue to compile, although we avoid gratious
breakage. And assuming there ever was code using termiox (which I'm not
sure about to start with) it will surely have some form of feature
check, and I think we are better off with that feature check not
detecting the presence as that would be completely pointless.

Or in short: by keeping the uapi definition we do userspace software a
disfavor.