Re: [PATCH 02/50] move compat handling of tty ioctls to tty_compat_ioctl()

From: gregkh
Date: Sat Sep 15 2018 - 14:51:20 EST


On Fri, Sep 14, 2018 at 09:38:52PM +0200, Arnd Bergmann wrote:
> On Fri, Sep 14, 2018 at 8:17 PM gregkh <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Fri, Sep 14, 2018 at 05:15:52PM +0200, Arnd Bergmann wrote:
> > > On Thu, Sep 13, 2018 at 4:40 AM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> > > + case TCSETX:
> > > + case TCSETXF:
> > > + case TCSETXW:
> > > + case TIOCGETC:
> > > + case TIOCGETP:
> > > + case TIOCGPTPEER:
> > > + case TIOCSERCONFIG:
> > > + case TIOCSETC:
> > > + case TIOCSETN:
> > > + case TIOCSETP:
> > > + case TIOCVHANGUP:
> > >
> > > Should these all be added in a stable backport patch?
> >
> > Why? What is being "fixed" here that anyone has noticed before that is
> > causing problems in those old kernels? If no one has complained about
> > the lack of compat fixups, well... :)
>
> Most of the individual ones don't matter:
>
> TCSETX/TCSETXF/TCSETXW/TCGETX never did anything,
> we don't care about them.
>
> TIOCSERCONFIG has always been broken in compat mode,
> not sure who calls it in practice. This is 'setserial autoconfig'.
>
> TIOCGETC/TIOCGETP/TIOCSETC/TIOCSETN/TIOCSETP
> are only defined on alpha, mips, powerpc and sparc to start
> with. They seem to only be there for compatibility with some
> Unix version for those architectures but were never part of
> the normal Linux API or the compat set, so I guess they
> also don't matter.
>
> The two that I think we may care about are:
>
> TIOCGPTPEER is a fairly recent regression from commit
> 311fc65c9fb9 ("pty: Repair TIOCGPTPEER") in 4.14 after it was
> added in 4.13.
>
> TIOCVHANGUP was introduced to be used by systemd in
> commit 3c95c985fa91 ("tty: add TIOCVHANGUP to allow clean tty
> shutdown of all ttys").
> https://raspberrypi.stackexchange.com/questions/54143
> has a bug report noting a problem with Raspbian systemd
> that was related to TIOCVHANGUP. I don't think it's the
> missing compat line that caused it, but the same system
> would try to run TIOCVHANGUP in compat mode on
> Raspberry Pi3 when using a 64-bit kernel with raspbian,
> so there are definitely callers.

Ah, ok, that makes sense, I forgot about the new ioctls and didn't
realize it was a regression.

greg k-h