linux/drivers/net/wan
Al Viro f0193d3ea7 change semantics of ldisc ->compat_ioctl()
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: Al Viro <viro@zeniv.linux.org.uk>
2018-10-13 00:50:53 -04:00
..
lmc Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-08-05 13:04:31 -07:00
.gitignore
c101.c
cosa.c the rest of drivers/*: annotate ->poll() instances 2017-11-28 11:06:58 -05:00
cosa.h
dlci.c
dscc4.c
farsync.c farsync: remove redundant variable txq_length 2018-07-07 20:49:08 +09:00
farsync.h
fsl_ucc_hdlc.c wan/fsl_ucc_hdlc: use IS_ERR_VALUE() to check return value of qe_muram_alloc 2018-07-23 11:07:10 -07:00
fsl_ucc_hdlc.h
hd64570.c
hd64570.h
hd64572.c
hd64572.h
hdlc_cisco.c
hdlc_fr.c
hdlc_ppp.c hdlc_ppp: carrier detect ok, don't turn off negotiation 2018-02-26 14:38:12 -05:00
hdlc_raw_eth.c
hdlc_raw.c
hdlc_x25.c
hdlc.c
hostess_sv11.c
ixp4xx_hss.c
Kconfig
lapbether.c
Makefile
n2.c
pc300too.c
pci200syn.c
sbni.c
sbni.h
sdla.c
sealevel.c
slic_ds26522.c
slic_ds26522.h
wanxl.c
wanxl.h
wanxlfw.inc_shipped
wanxlfw.S
x25_asy.c change semantics of ldisc ->compat_ioctl() 2018-10-13 00:50:53 -04:00
x25_asy.h
z85230.c
z85230.h