tty: fix return value for unsupported termiox ioctls
Drivers should return -ENOTTY ("Inappropriate I/O control operation")
when an ioctl isn't supported, while -EINVAL is used for invalid
arguments.
Support for termiox was added by commit 1d65b4a088 ("tty: Add
termiox") in 2008 but no driver support ever followed and it was
recently ripped out by commit e0efb3168d ("tty: Remove dead termiox
code").
Fix the return value for the unsupported termiox ioctls, which have
always returned -EINVAL, by explicitly returning -ENOTTY rather than
removing them completely and falling back to the default unrecognised-
ioctl handling.
Fixes: 1d65b4a088 ("tty: Add termiox")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210407095208.31838-4-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1b8b20868a
commit
8871de06ff
@@ -773,8 +773,8 @@ int tty_mode_ioctl(struct tty_struct *tty, struct file *file,
|
||||
case TCSETX:
|
||||
case TCSETXW:
|
||||
case TCSETXF:
|
||||
return -EINVAL;
|
||||
#endif
|
||||
return -ENOTTY;
|
||||
#endif
|
||||
case TIOCGSOFTCAR:
|
||||
copy_termios(real_tty, &kterm);
|
||||
ret = put_user((kterm.c_cflag & CLOCAL) ? 1 : 0,
|
||||
|
||||
Reference in New Issue
Block a user