OSDN Git Service

tty_ioctl(): drop FIONBIO handling
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 11 Sep 2018 23:52:54 +0000 (19:52 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 14 Sep 2018 15:12:36 +0000 (11:12 -0400)
That code had been live for 11 weeks back in 1992, but it had been 26 years
since sys_ioctl() began handling FIONBIO on its own.  Time to to bury the body,
already...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/tty/tty_io.c

index 7bfc8af..ef2a876 100644 (file)
@@ -2289,34 +2289,6 @@ static int tioccons(struct file *file)
 }
 
 /**
- *     fionbio         -       non blocking ioctl
- *     @file: file to set blocking value
- *     @p: user parameter
- *
- *     Historical tty interfaces had a blocking control ioctl before
- *     the generic functionality existed. This piece of history is preserved
- *     in the expected tty API of posix OS's.
- *
- *     Locking: none, the open file handle ensures it won't go away.
- */
-
-static int fionbio(struct file *file, int __user *p)
-{
-       int nonblock;
-
-       if (get_user(nonblock, p))
-               return -EFAULT;
-
-       spin_lock(&file->f_lock);
-       if (nonblock)
-               file->f_flags |= O_NONBLOCK;
-       else
-               file->f_flags &= ~O_NONBLOCK;
-       spin_unlock(&file->f_lock);
-       return 0;
-}
-
-/**
  *     tiocsetd        -       set line discipline
  *     @tty: tty device
  *     @p: pointer to user data
@@ -2562,8 +2534,6 @@ long tty_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                return tiocswinsz(real_tty, p);
        case TIOCCONS:
                return real_tty != tty ? -EINVAL : tioccons(file);
-       case FIONBIO:
-               return fionbio(file, p);
        case TIOCEXCL:
                set_bit(TTY_EXCLUSIVE, &tty->flags);
                return 0;