Re: [regression] ENOTTY returned for tty fds

From: Greg KH
Date: Wed Jul 31 2024 - 06:25:56 EST


On Wed, Jul 24, 2024 at 06:58:22PM +0800, Herbert Xu wrote:
> On Wed, Jul 24, 2024 at 06:53:00PM +0800, Herbert Xu wrote:
> > On Wed, Jul 24, 2024 at 12:15:39PM +0200, Greg KH wrote:
> > >
> > > -ENOTTY is the documented result of invalid ioctl arguments sent, I am
> > > pretty sure POSIX requires this somewhere. So this was fixing a
> > > requirement here...
> >
> > POSIX does not specify this at all:
> >
> > https://pubs.opengroup.org/onlinepubs/9699919799/functions/ioctl.html
>
> In fact it says:
>
> If an underlying device driver detects an error, then ioctl() shall fail if:
>
> [EINVAL]
> The request or arg argument is not valid for this device.
>
> [ENOTTY]
> The file associated with the fildes argument is not a STREAMS device that accepts control functions.
>
> Of course this is all moot since POSIX only specifies ioctl(2)
> for STREAMS devices, but this patch in question is literally
> going against the woring here.

That's going to be going against a lot of existing kernel code then.
-ENOTTY is the default action of almost all ioctl handlers when the
command is not a valid one, sorry.

thanks,

greg k-h