linux/net
David Woodhouse 8865c418ca atm: 32-bit ioctl compatibility
We lack compat ioctl support through most of the ATM code. This patch
deals with most of it, and I can now at least use BR2684 and PPPoATM
with 32-bit userspace.

I haven't added a .compat_ioctl method to struct atm_ioctl, because
AFAICT none of the current users need any conversion -- so we can just
call the ->ioctl() method in every case. I looked at br2684, clip, lec,
mpc, pppoatm and atmtcp.

In svc_compat_ioctl() the only mangling which is needed is to change
COMPAT_ATM_ADDPARTY to ATM_ADDPARTY. Although it's defined as
	_IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf)
it doesn't actually _take_ a struct atm_iobuf as an argument -- it takes
a struct sockaddr_atmsvc, which _is_ the same between 32-bit and 64-bit
code, so doesn't need conversion.

Almost all of vcc_ioctl() would have been identical, so I converted that
into a core do_vcc_ioctl() function with an 'int compat' argument.

I've done the same with atm_dev_ioctl(), where there _are_ a few
differences, but still it's relatively contained and there would
otherwise have been a lot of duplication.

I haven't done any of the actual device-specific ioctls, although I've
added a compat_ioctl method to struct atmdev_ops.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-12-03 22:12:38 -08:00
..
9p net: remove redundant argument comments 2008-11-21 17:15:03 -08:00
802 hippi: convert driver to net_device_ops 2008-11-20 20:32:15 -08:00
8021q
appletalk
atm atm: 32-bit ioctl compatibility 2008-12-03 22:12:38 -08:00
ax25 ax25: fix warning in net/ax25/sysctl_net_ax25.c 2008-11-25 16:58:19 -08:00
bluetooth Bluetooth: Fix RFCOMM release oops when device is still in use 2008-11-30 12:17:29 +01:00
bridge Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2008-11-28 02:19:15 -08:00
can
core Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-26 23:48:40 -08:00
dcb DCB: fix kconfig option 2008-11-25 01:02:08 -08:00
dccp dccp: Feature activation handlers 2008-12-01 23:34:01 -08:00
decnet decnet: remove private wrappers of endian helpers 2008-11-27 00:12:47 -08:00
dsa dsa: fix warning in net/dsa/mv88e6060.c 2008-11-25 16:51:13 -08:00
econet
ethernet eth: Declare an optimized compare_ether_addr_64bits() function 2008-11-23 23:24:32 -08:00
ipv4 net: percpu_counter_inc() should not be called in BH-disabled section 2008-12-01 23:37:17 -08:00
ipv6 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2008-11-28 02:19:15 -08:00
ipx
irda
iucv
key netns PF_KEY: per-netns /proc/pfkey 2008-11-25 17:59:00 -08:00
lapb
llc net: remove redundant argument comments 2008-11-21 17:15:03 -08:00
mac80211 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-26 23:48:40 -08:00
netfilter Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 2008-11-28 02:19:15 -08:00
netlabel net: remove redundant argument comments 2008-11-21 17:15:03 -08:00
netlink netlink: allow empty nested attributes 2008-11-28 03:05:19 -08:00
netrom
packet net: Make sure BHs are disabled in sock_prot_inuse_add() 2008-11-24 00:09:29 -08:00
phonet Phonet: basic net namespace support 2008-12-03 15:42:56 -08:00
rfkill rfkill: always call get_state() hook on resume 2008-11-26 09:47:44 -05:00
rose Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-26 23:48:40 -08:00
rxrpc
sched pkt_sched: sch_htb: Replace HTB_ACCNT() macro with inlines 2008-12-03 21:17:27 -08:00
sctp sctp: fix missing label when PROC_FS=n 2008-11-27 15:30:53 -08:00
sunrpc sunrpc: fix warning in net/sunrpc/xprtrdma/verbs.c 2008-11-25 16:58:42 -08:00
tipc
unix Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-12-02 19:50:27 -08:00
wanrouter netdevice wanrouter: Convert directly reference of netdev->priv 2008-11-20 04:26:21 -08:00
wireless nl80211: Change max TX power to be in mBm instead of dBm 2008-11-26 09:47:48 -05:00
x25
xfrm xfrm: Accept XFRM_STATE_AF_UNSPEC SAs on IPv4/IPv6 only hosts 2008-12-03 15:38:07 -08:00
compat.c
Kconfig net/ieee80211 -> drivers/net/ipw2x00/libipw_* rename 2008-11-21 11:08:18 -05:00
Makefile DCB: fix kconfig option 2008-11-25 01:02:08 -08:00
nonet.c
socket.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-20 16:44:00 -08:00
sysctl_net.c
TUNABLE