diff options
author | Christoph Hellwig <hch@lst.de> | 2006-01-09 23:52:14 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 11:01:33 -0500 |
commit | e6a6d2efcb7e7c87c5fe0395803da1453b29cbef (patch) | |
tree | 76061b3067e22ba78cce975e5f729c6a6a37fce5 /arch/x86_64 | |
parent | 8262037f406dc8e0908ad51f355c3dfd4d662aba (diff) |
[PATCH] sanitize building of fs/compat_ioctl.c
Now that all these entries in the arch ioctl32.c files are gone [1], we can
build fs/compat_ioctl.c as a normal object and kill tons of cruft. We need a
special do_ioctl32_pointer handler for s390 so the compat_ptr call is done.
This is not needed but harmless on all other architectures. Also remove some
superflous includes in fs/compat_ioctl.c
Tested on ppc64.
[1] parisc still had it's PPP handler left, which is not fully correct
for ppp and besides that ppp uses the generic SIOCPRIV ioctl so it'd
kick in for all netdevice users. We can introduce a proper handler
in one of the next patch series by adding a compat_ioctl method to
struct net_device but for now let's just kill it - parisc doesn't
compile in mainline anyway and I don't want this to block this
patchset.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Matthew Wilcox <willy@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64')
-rw-r--r-- | arch/x86_64/ia32/Makefile | 4 | ||||
-rw-r--r-- | arch/x86_64/ia32/ia32_ioctl.c | 32 |
2 files changed, 1 insertions, 35 deletions
diff --git a/arch/x86_64/ia32/Makefile b/arch/x86_64/ia32/Makefile index f76217d8f579..051608d55920 100644 --- a/arch/x86_64/ia32/Makefile +++ b/arch/x86_64/ia32/Makefile | |||
@@ -2,8 +2,7 @@ | |||
2 | # Makefile for the ia32 kernel emulation subsystem. | 2 | # Makefile for the ia32 kernel emulation subsystem. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-$(CONFIG_IA32_EMULATION) := ia32entry.o sys_ia32.o ia32_ioctl.o \ | 5 | obj-$(CONFIG_IA32_EMULATION) := ia32entry.o sys_ia32.o ia32_signal.o tls32.o \ |
6 | ia32_signal.o tls32.o \ | ||
7 | ia32_binfmt.o fpu32.o ptrace32.o syscall32.o syscall32_syscall.o | 6 | ia32_binfmt.o fpu32.o ptrace32.o syscall32.o syscall32_syscall.o |
8 | 7 | ||
9 | sysv-$(CONFIG_SYSVIPC) := ipc32.o | 8 | sysv-$(CONFIG_SYSVIPC) := ipc32.o |
@@ -29,4 +28,3 @@ $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE | |||
29 | 28 | ||
30 | AFLAGS_vsyscall-sysenter.o = -m32 | 29 | AFLAGS_vsyscall-sysenter.o = -m32 |
31 | AFLAGS_vsyscall-syscall.o = -m32 | 30 | AFLAGS_vsyscall-syscall.o = -m32 |
32 | CFLAGS_ia32_ioctl.o += -Ifs/ | ||
diff --git a/arch/x86_64/ia32/ia32_ioctl.c b/arch/x86_64/ia32/ia32_ioctl.c deleted file mode 100644 index e11cc5699352..000000000000 --- a/arch/x86_64/ia32/ia32_ioctl.c +++ /dev/null | |||
@@ -1,32 +0,0 @@ | |||
1 | /* $Id: ia32_ioctl.c,v 1.25 2002/10/11 07:17:06 ak Exp $ | ||
2 | * ioctl32.c: Conversion between 32bit and 64bit native ioctls. | ||
3 | * | ||
4 | * Copyright (C) 1997-2000 Jakub Jelinek (jakub@redhat.com) | ||
5 | * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be) | ||
6 | * Copyright (C) 2001,2002 Andi Kleen, SuSE Labs | ||
7 | * | ||
8 | * These routines maintain argument size conversion between 32bit and 64bit | ||
9 | * ioctls. | ||
10 | */ | ||
11 | |||
12 | #define INCLUDES | ||
13 | #include <linux/syscalls.h> | ||
14 | #include "compat_ioctl.c" | ||
15 | #include <asm/ia32.h> | ||
16 | |||
17 | #define CODE | ||
18 | #include "compat_ioctl.c" | ||
19 | |||
20 | |||
21 | #define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl_trans_handler_t)(handler) }, | ||
22 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL(cmd,sys_ioctl) | ||
23 | |||
24 | struct ioctl_trans ioctl_start[] = { | ||
25 | #include <linux/compat_ioctl.h> | ||
26 | #define DECLARES | ||
27 | #include "compat_ioctl.c" | ||
28 | /* take care of sizeof(sizeof()) breakage */ | ||
29 | }; | ||
30 | |||
31 | int ioctl_table_size = ARRAY_SIZE(ioctl_start); | ||
32 | |||