diff options
author | Christoph Hellwig <hch@lst.de> | 2010-03-10 18:21:15 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-12 18:52:32 -0500 |
commit | a4679373cf4ee0e7792dc56205365732b725c2c1 (patch) | |
tree | 6cf8040f608ad46ae7c605284af1ca585fb50eaa /arch/cris | |
parent | 5d0e52830e9ae09b872567f4aca3dfb5b5918079 (diff) |
Add generic sys_old_mmap()
Add a generic implementation of the old mmap() syscall, which expects its
argument in a memory block and switch all architectures over to use it.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Reviewed-by: H. Peter Anvin <hpa@zytor.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: James Morris <jmorris@namei.org>
Cc: Andreas Schwab <schwab@linux-m68k.org>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/cris')
-rw-r--r-- | arch/cris/arch-v10/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/cris/arch-v32/kernel/entry.S | 2 | ||||
-rw-r--r-- | arch/cris/include/asm/unistd.h | 1 | ||||
-rw-r--r-- | arch/cris/kernel/sys_cris.c | 18 |
4 files changed, 3 insertions, 20 deletions
diff --git a/arch/cris/arch-v10/kernel/entry.S b/arch/cris/arch-v10/kernel/entry.S index c52bef39e250..0d6420d087fd 100644 --- a/arch/cris/arch-v10/kernel/entry.S +++ b/arch/cris/arch-v10/kernel/entry.S | |||
@@ -692,7 +692,7 @@ sys_call_table: | |||
692 | .long sys_swapon | 692 | .long sys_swapon |
693 | .long sys_reboot | 693 | .long sys_reboot |
694 | .long sys_old_readdir | 694 | .long sys_old_readdir |
695 | .long old_mmap /* 90 */ | 695 | .long sys_old_mmap /* 90 */ |
696 | .long sys_munmap | 696 | .long sys_munmap |
697 | .long sys_truncate | 697 | .long sys_truncate |
698 | .long sys_ftruncate | 698 | .long sys_ftruncate |
diff --git a/arch/cris/arch-v32/kernel/entry.S b/arch/cris/arch-v32/kernel/entry.S index 435b9671bd4b..1f39861eac8c 100644 --- a/arch/cris/arch-v32/kernel/entry.S +++ b/arch/cris/arch-v32/kernel/entry.S | |||
@@ -615,7 +615,7 @@ sys_call_table: | |||
615 | .long sys_swapon | 615 | .long sys_swapon |
616 | .long sys_reboot | 616 | .long sys_reboot |
617 | .long sys_old_readdir | 617 | .long sys_old_readdir |
618 | .long old_mmap /* 90 */ | 618 | .long sys_old_mmap /* 90 */ |
619 | .long sys_munmap | 619 | .long sys_munmap |
620 | .long sys_truncate | 620 | .long sys_truncate |
621 | .long sys_ftruncate | 621 | .long sys_ftruncate |
diff --git a/arch/cris/include/asm/unistd.h b/arch/cris/include/asm/unistd.h index c17079388bb9..8cffd22623fd 100644 --- a/arch/cris/include/asm/unistd.h +++ b/arch/cris/include/asm/unistd.h | |||
@@ -364,6 +364,7 @@ | |||
364 | #define __ARCH_WANT_SYS_LLSEEK | 364 | #define __ARCH_WANT_SYS_LLSEEK |
365 | #define __ARCH_WANT_SYS_NICE | 365 | #define __ARCH_WANT_SYS_NICE |
366 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT | 366 | #define __ARCH_WANT_SYS_OLD_GETRLIMIT |
367 | #define __ARCH_WANT_SYS_OLD_MMAP | ||
367 | #define __ARCH_WANT_SYS_OLDUMOUNT | 368 | #define __ARCH_WANT_SYS_OLDUMOUNT |
368 | #define __ARCH_WANT_SYS_SIGPENDING | 369 | #define __ARCH_WANT_SYS_SIGPENDING |
369 | #define __ARCH_WANT_SYS_SIGPROCMASK | 370 | #define __ARCH_WANT_SYS_SIGPROCMASK |
diff --git a/arch/cris/kernel/sys_cris.c b/arch/cris/kernel/sys_cris.c index c2bbb1ac98a9..22f9d6cd947f 100644 --- a/arch/cris/kernel/sys_cris.c +++ b/arch/cris/kernel/sys_cris.c | |||
@@ -26,24 +26,6 @@ | |||
26 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> |
27 | #include <asm/segment.h> | 27 | #include <asm/segment.h> |
28 | 28 | ||
29 | asmlinkage unsigned long old_mmap(unsigned long __user *args) | ||
30 | { | ||
31 | unsigned long buffer[6]; | ||
32 | int err = -EFAULT; | ||
33 | |||
34 | if (copy_from_user(&buffer, args, sizeof(buffer))) | ||
35 | goto out; | ||
36 | |||
37 | err = -EINVAL; | ||
38 | if (buffer[5] & ~PAGE_MASK) /* verify that offset is on page boundary */ | ||
39 | goto out; | ||
40 | |||
41 | err = sys_mmap_pgoff(buffer[0], buffer[1], buffer[2], buffer[3], | ||
42 | buffer[4], buffer[5] >> PAGE_SHIFT); | ||
43 | out: | ||
44 | return err; | ||
45 | } | ||
46 | |||
47 | asmlinkage long | 29 | asmlinkage long |
48 | sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, | 30 | sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, |
49 | unsigned long flags, unsigned long fd, unsigned long pgoff) | 31 | unsigned long flags, unsigned long fd, unsigned long pgoff) |