1. 08 Jan, 2019 1 commit
  2. 29 Dec, 2018 2 commits
  3. 22 Dec, 2018 1 commit
  4. 21 Dec, 2018 5 commits
  5. 10 Dec, 2018 3 commits
  6. 09 Dec, 2018 3 commits
  7. 03 Dec, 2018 7 commits
  8. 15 Nov, 2018 5 commits
  9. 12 Nov, 2018 6 commits
  10. 19 Oct, 2018 1 commit
  11. 17 Oct, 2018 1 commit
  12. 15 Oct, 2018 4 commits
  13. 13 Oct, 2018 1 commit
    • Al Viro's avatar
      change semantics of ldisc ->compat_ioctl() · f0193d3e
      Al Viro authored
      First of all, make it return int.  Returning long when native method
      had never allowed that is ridiculous and inconvenient.
      
      More importantly, change the caller; if ldisc ->compat_ioctl() is NULL
      or returns -ENOIOCTLCMD, tty_compat_ioctl() will try to feed cmd and
      compat_ptr(arg) to ldisc's native ->ioctl().
      
      That simplifies ->compat_ioctl() instances quite a bit - they only
      need to deal with ioctls that are neither generic tty ones (those
      would get shunted off to tty_ioctl()) nor simple compat pointer ones.
      
      Note that something like TCFLSH won't reach ->compat_ioctl(),
      even if ldisc ->ioctl() does handle it - it will be recognized
      earlier and passed to tty_ioctl() (and ultimately - ldisc ->ioctl()).
      
      For many ldiscs it means that NULL ->compat_ioctl() does the
      right thing.  Those where it won't serve (see e.g. n_r3964.c) are
      also easily dealt with - we need to handle the numeric-argument
      ioctls (calling the native instance) and, if such would exist,
      the ioctls that need layout conversion, etc.
      
      All in-tree ldiscs dealt with.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      f0193d3e