diff options
| -rw-r--r-- | arch/alpha/kernel/osf_sys.c | 2 | ||||
| -rw-r--r-- | arch/arm64/kernel/sys.c | 2 | ||||
| -rw-r--r-- | arch/ia64/kernel/sys_ia64.c | 4 | ||||
| -rw-r--r-- | arch/m68k/kernel/sys_m68k.c | 2 | ||||
| -rw-r--r-- | arch/microblaze/kernel/sys_microblaze.c | 6 | ||||
| -rw-r--r-- | arch/mips/kernel/linux32.c | 4 | ||||
| -rw-r--r-- | arch/mips/kernel/syscall.c | 6 | ||||
| -rw-r--r-- | arch/parisc/kernel/sys_parisc.c | 6 | ||||
| -rw-r--r-- | arch/powerpc/kernel/syscalls.c | 2 | ||||
| -rw-r--r-- | arch/riscv/kernel/sys_riscv.c | 4 | ||||
| -rw-r--r-- | arch/s390/kernel/compat_linux.c | 6 | ||||
| -rw-r--r-- | arch/s390/kernel/sys_s390.c | 2 | ||||
| -rw-r--r-- | arch/sh/kernel/sys_sh.c | 4 | ||||
| -rw-r--r-- | arch/sparc/kernel/sys_sparc_32.c | 6 | ||||
| -rw-r--r-- | arch/sparc/kernel/sys_sparc_64.c | 2 | ||||
| -rw-r--r-- | arch/um/kernel/syscall.c | 2 | ||||
| -rw-r--r-- | arch/x86/ia32/sys_ia32.c | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/sys_x86_64.c | 2 | ||||
| -rw-r--r-- | include/linux/syscalls.h | 3 | ||||
| -rw-r--r-- | mm/mmap.c | 17 | ||||
| -rw-r--r-- | mm/nommu.c | 17 |
21 files changed, 60 insertions, 41 deletions
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index fa1a392ca9a2..89faa6f4de47 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c | |||
| @@ -189,7 +189,7 @@ SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len, | |||
| 189 | goto out; | 189 | goto out; |
| 190 | if (off & ~PAGE_MASK) | 190 | if (off & ~PAGE_MASK) |
| 191 | goto out; | 191 | goto out; |
| 192 | ret = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); | 192 | ret = ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 193 | out: | 193 | out: |
| 194 | return ret; | 194 | return ret; |
| 195 | } | 195 | } |
diff --git a/arch/arm64/kernel/sys.c b/arch/arm64/kernel/sys.c index 26fe8ea93ea2..72981bae10eb 100644 --- a/arch/arm64/kernel/sys.c +++ b/arch/arm64/kernel/sys.c | |||
| @@ -34,7 +34,7 @@ asmlinkage long sys_mmap(unsigned long addr, unsigned long len, | |||
| 34 | if (offset_in_page(off) != 0) | 34 | if (offset_in_page(off) != 0) |
| 35 | return -EINVAL; | 35 | return -EINVAL; |
| 36 | 36 | ||
| 37 | return sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); | 37 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 38 | } | 38 | } |
| 39 | 39 | ||
| 40 | SYSCALL_DEFINE1(arm64_personality, unsigned int, personality) | 40 | SYSCALL_DEFINE1(arm64_personality, unsigned int, personality) |
diff --git a/arch/ia64/kernel/sys_ia64.c b/arch/ia64/kernel/sys_ia64.c index 085adfcc74a4..9ebe1d633abc 100644 --- a/arch/ia64/kernel/sys_ia64.c +++ b/arch/ia64/kernel/sys_ia64.c | |||
| @@ -139,7 +139,7 @@ int ia64_mmap_check(unsigned long addr, unsigned long len, | |||
| 139 | asmlinkage unsigned long | 139 | asmlinkage unsigned long |
| 140 | sys_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, long pgoff) | 140 | sys_mmap2 (unsigned long addr, unsigned long len, int prot, int flags, int fd, long pgoff) |
| 141 | { | 141 | { |
| 142 | addr = sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); | 142 | addr = ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); |
| 143 | if (!IS_ERR((void *) addr)) | 143 | if (!IS_ERR((void *) addr)) |
| 144 | force_successful_syscall_return(); | 144 | force_successful_syscall_return(); |
| 145 | return addr; | 145 | return addr; |
| @@ -151,7 +151,7 @@ sys_mmap (unsigned long addr, unsigned long len, int prot, int flags, int fd, lo | |||
| 151 | if (offset_in_page(off) != 0) | 151 | if (offset_in_page(off) != 0) |
| 152 | return -EINVAL; | 152 | return -EINVAL; |
| 153 | 153 | ||
| 154 | addr = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); | 154 | addr = ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 155 | if (!IS_ERR((void *) addr)) | 155 | if (!IS_ERR((void *) addr)) |
| 156 | force_successful_syscall_return(); | 156 | force_successful_syscall_return(); |
| 157 | return addr; | 157 | return addr; |
diff --git a/arch/m68k/kernel/sys_m68k.c b/arch/m68k/kernel/sys_m68k.c index 27e10af5153a..6363ec83a290 100644 --- a/arch/m68k/kernel/sys_m68k.c +++ b/arch/m68k/kernel/sys_m68k.c | |||
| @@ -46,7 +46,7 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, | |||
| 46 | * so we need to shift the argument down by 1; m68k mmap64(3) | 46 | * so we need to shift the argument down by 1; m68k mmap64(3) |
| 47 | * (in libc) expects the last argument of mmap2 in 4Kb units. | 47 | * (in libc) expects the last argument of mmap2 in 4Kb units. |
| 48 | */ | 48 | */ |
| 49 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); | 49 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); |
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | /* Convert virtual (user) address VADDR to physical address PADDR */ | 52 | /* Convert virtual (user) address VADDR to physical address PADDR */ |
diff --git a/arch/microblaze/kernel/sys_microblaze.c b/arch/microblaze/kernel/sys_microblaze.c index f1e1f666ddde..ed9f34da1a2a 100644 --- a/arch/microblaze/kernel/sys_microblaze.c +++ b/arch/microblaze/kernel/sys_microblaze.c | |||
| @@ -40,7 +40,7 @@ SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, | |||
| 40 | if (pgoff & ~PAGE_MASK) | 40 | if (pgoff & ~PAGE_MASK) |
| 41 | return -EINVAL; | 41 | return -EINVAL; |
| 42 | 42 | ||
| 43 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); | 43 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); |
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, | 46 | SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, |
| @@ -50,6 +50,6 @@ SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, | |||
| 50 | if (pgoff & (~PAGE_MASK >> 12)) | 50 | if (pgoff & (~PAGE_MASK >> 12)) |
| 51 | return -EINVAL; | 51 | return -EINVAL; |
| 52 | 52 | ||
| 53 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | 53 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 54 | pgoff >> (PAGE_SHIFT - 12)); | 54 | pgoff >> (PAGE_SHIFT - 12)); |
| 55 | } | 55 | } |
diff --git a/arch/mips/kernel/linux32.c b/arch/mips/kernel/linux32.c index 1c5785e72db4..0571ab7b68b0 100644 --- a/arch/mips/kernel/linux32.c +++ b/arch/mips/kernel/linux32.c | |||
| @@ -67,8 +67,8 @@ SYSCALL_DEFINE6(32_mmap2, unsigned long, addr, unsigned long, len, | |||
| 67 | { | 67 | { |
| 68 | if (pgoff & (~PAGE_MASK >> 12)) | 68 | if (pgoff & (~PAGE_MASK >> 12)) |
| 69 | return -EINVAL; | 69 | return -EINVAL; |
| 70 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | 70 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 71 | pgoff >> (PAGE_SHIFT-12)); | 71 | pgoff >> (PAGE_SHIFT-12)); |
| 72 | } | 72 | } |
| 73 | 73 | ||
| 74 | #define RLIM_INFINITY32 0x7fffffff | 74 | #define RLIM_INFINITY32 0x7fffffff |
diff --git a/arch/mips/kernel/syscall.c b/arch/mips/kernel/syscall.c index 58c6f634b550..69c17b549fd3 100644 --- a/arch/mips/kernel/syscall.c +++ b/arch/mips/kernel/syscall.c | |||
| @@ -63,7 +63,8 @@ SYSCALL_DEFINE6(mips_mmap, unsigned long, addr, unsigned long, len, | |||
| 63 | { | 63 | { |
| 64 | if (offset & ~PAGE_MASK) | 64 | if (offset & ~PAGE_MASK) |
| 65 | return -EINVAL; | 65 | return -EINVAL; |
| 66 | return sys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); | 66 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 67 | offset >> PAGE_SHIFT); | ||
| 67 | } | 68 | } |
| 68 | 69 | ||
| 69 | SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len, | 70 | SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len, |
| @@ -73,7 +74,8 @@ SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len, | |||
| 73 | if (pgoff & (~PAGE_MASK >> 12)) | 74 | if (pgoff & (~PAGE_MASK >> 12)) |
| 74 | return -EINVAL; | 75 | return -EINVAL; |
| 75 | 76 | ||
| 76 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> (PAGE_SHIFT-12)); | 77 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 78 | pgoff >> (PAGE_SHIFT - 12)); | ||
| 77 | } | 79 | } |
| 78 | 80 | ||
| 79 | save_static_function(sys_fork); | 81 | save_static_function(sys_fork); |
diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index f36ab1f09595..080d566654ea 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c | |||
| @@ -270,8 +270,8 @@ asmlinkage unsigned long sys_mmap2(unsigned long addr, unsigned long len, | |||
| 270 | { | 270 | { |
| 271 | /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE | 271 | /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE |
| 272 | we have. */ | 272 | we have. */ |
| 273 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | 273 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 274 | pgoff >> (PAGE_SHIFT - 12)); | 274 | pgoff >> (PAGE_SHIFT - 12)); |
| 275 | } | 275 | } |
| 276 | 276 | ||
| 277 | asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, | 277 | asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, |
| @@ -279,7 +279,7 @@ asmlinkage unsigned long sys_mmap(unsigned long addr, unsigned long len, | |||
| 279 | unsigned long offset) | 279 | unsigned long offset) |
| 280 | { | 280 | { |
| 281 | if (!(offset & ~PAGE_MASK)) { | 281 | if (!(offset & ~PAGE_MASK)) { |
| 282 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | 282 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 283 | offset >> PAGE_SHIFT); | 283 | offset >> PAGE_SHIFT); |
| 284 | } else { | 284 | } else { |
| 285 | return -EINVAL; | 285 | return -EINVAL; |
diff --git a/arch/powerpc/kernel/syscalls.c b/arch/powerpc/kernel/syscalls.c index ecb981eea74b..1ef3b80b62a6 100644 --- a/arch/powerpc/kernel/syscalls.c +++ b/arch/powerpc/kernel/syscalls.c | |||
| @@ -57,7 +57,7 @@ static inline long do_mmap2(unsigned long addr, size_t len, | |||
| 57 | off >>= shift; | 57 | off >>= shift; |
| 58 | } | 58 | } |
| 59 | 59 | ||
| 60 | ret = sys_mmap_pgoff(addr, len, prot, flags, fd, off); | 60 | ret = ksys_mmap_pgoff(addr, len, prot, flags, fd, off); |
| 61 | out: | 61 | out: |
| 62 | return ret; | 62 | return ret; |
| 63 | } | 63 | } |
diff --git a/arch/riscv/kernel/sys_riscv.c b/arch/riscv/kernel/sys_riscv.c index 79c78668258e..f7181ed8aafc 100644 --- a/arch/riscv/kernel/sys_riscv.c +++ b/arch/riscv/kernel/sys_riscv.c | |||
| @@ -24,8 +24,8 @@ static long riscv_sys_mmap(unsigned long addr, unsigned long len, | |||
| 24 | { | 24 | { |
| 25 | if (unlikely(offset & (~PAGE_MASK >> page_shift_offset))) | 25 | if (unlikely(offset & (~PAGE_MASK >> page_shift_offset))) |
| 26 | return -EINVAL; | 26 | return -EINVAL; |
| 27 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | 27 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 28 | offset >> (PAGE_SHIFT - page_shift_offset)); | 28 | offset >> (PAGE_SHIFT - page_shift_offset)); |
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | #ifdef CONFIG_64BIT | 31 | #ifdef CONFIG_64BIT |
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index 9bb897e443a6..da5ef7718254 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
| @@ -442,8 +442,8 @@ COMPAT_SYSCALL_DEFINE1(s390_old_mmap, struct mmap_arg_struct_emu31 __user *, arg | |||
| 442 | return -EFAULT; | 442 | return -EFAULT; |
| 443 | if (a.offset & ~PAGE_MASK) | 443 | if (a.offset & ~PAGE_MASK) |
| 444 | return -EINVAL; | 444 | return -EINVAL; |
| 445 | return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, | 445 | return ksys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, |
| 446 | a.offset >> PAGE_SHIFT); | 446 | a.offset >> PAGE_SHIFT); |
| 447 | } | 447 | } |
| 448 | 448 | ||
| 449 | COMPAT_SYSCALL_DEFINE1(s390_mmap2, struct mmap_arg_struct_emu31 __user *, arg) | 449 | COMPAT_SYSCALL_DEFINE1(s390_mmap2, struct mmap_arg_struct_emu31 __user *, arg) |
| @@ -452,7 +452,7 @@ COMPAT_SYSCALL_DEFINE1(s390_mmap2, struct mmap_arg_struct_emu31 __user *, arg) | |||
| 452 | 452 | ||
| 453 | if (copy_from_user(&a, arg, sizeof(a))) | 453 | if (copy_from_user(&a, arg, sizeof(a))) |
| 454 | return -EFAULT; | 454 | return -EFAULT; |
| 455 | return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); | 455 | return ksys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); |
| 456 | } | 456 | } |
| 457 | 457 | ||
| 458 | COMPAT_SYSCALL_DEFINE3(s390_read, unsigned int, fd, char __user *, buf, compat_size_t, count) | 458 | COMPAT_SYSCALL_DEFINE3(s390_read, unsigned int, fd, char __user *, buf, compat_size_t, count) |
diff --git a/arch/s390/kernel/sys_s390.c b/arch/s390/kernel/sys_s390.c index 0090037ab148..31cefe0c28c0 100644 --- a/arch/s390/kernel/sys_s390.c +++ b/arch/s390/kernel/sys_s390.c | |||
| @@ -53,7 +53,7 @@ SYSCALL_DEFINE1(mmap2, struct s390_mmap_arg_struct __user *, arg) | |||
| 53 | 53 | ||
| 54 | if (copy_from_user(&a, arg, sizeof(a))) | 54 | if (copy_from_user(&a, arg, sizeof(a))) |
| 55 | goto out; | 55 | goto out; |
| 56 | error = sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); | 56 | error = ksys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, a.offset); |
| 57 | out: | 57 | out: |
| 58 | return error; | 58 | return error; |
| 59 | } | 59 | } |
diff --git a/arch/sh/kernel/sys_sh.c b/arch/sh/kernel/sys_sh.c index 724911c59e7d..f8afc014e084 100644 --- a/arch/sh/kernel/sys_sh.c +++ b/arch/sh/kernel/sys_sh.c | |||
| @@ -35,7 +35,7 @@ asmlinkage int old_mmap(unsigned long addr, unsigned long len, | |||
| 35 | { | 35 | { |
| 36 | if (off & ~PAGE_MASK) | 36 | if (off & ~PAGE_MASK) |
| 37 | return -EINVAL; | 37 | return -EINVAL; |
| 38 | return sys_mmap_pgoff(addr, len, prot, flags, fd, off>>PAGE_SHIFT); | 38 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, off>>PAGE_SHIFT); |
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, | 41 | asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, |
| @@ -51,7 +51,7 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, | |||
| 51 | 51 | ||
| 52 | pgoff >>= PAGE_SHIFT - 12; | 52 | pgoff >>= PAGE_SHIFT - 12; |
| 53 | 53 | ||
| 54 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); | 54 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | /* sys_cacheflush -- flush (part of) the processor cache. */ | 57 | /* sys_cacheflush -- flush (part of) the processor cache. */ |
diff --git a/arch/sparc/kernel/sys_sparc_32.c b/arch/sparc/kernel/sys_sparc_32.c index 990703b7cf4d..d980da4ffd7b 100644 --- a/arch/sparc/kernel/sys_sparc_32.c +++ b/arch/sparc/kernel/sys_sparc_32.c | |||
| @@ -104,8 +104,8 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, | |||
| 104 | { | 104 | { |
| 105 | /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE | 105 | /* Make sure the shift for mmap2 is constant (12), no matter what PAGE_SIZE |
| 106 | we have. */ | 106 | we have. */ |
| 107 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | 107 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, |
| 108 | pgoff >> (PAGE_SHIFT - 12)); | 108 | pgoff >> (PAGE_SHIFT - 12)); |
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | asmlinkage long sys_mmap(unsigned long addr, unsigned long len, | 111 | asmlinkage long sys_mmap(unsigned long addr, unsigned long len, |
| @@ -113,7 +113,7 @@ asmlinkage long sys_mmap(unsigned long addr, unsigned long len, | |||
| 113 | unsigned long off) | 113 | unsigned long off) |
| 114 | { | 114 | { |
| 115 | /* no alignment check? */ | 115 | /* no alignment check? */ |
| 116 | return sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); | 116 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 117 | } | 117 | } |
| 118 | 118 | ||
| 119 | long sparc_remap_file_pages(unsigned long start, unsigned long size, | 119 | long sparc_remap_file_pages(unsigned long start, unsigned long size, |
diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c index 55416db482ad..ebb84dc8a5a7 100644 --- a/arch/sparc/kernel/sys_sparc_64.c +++ b/arch/sparc/kernel/sys_sparc_64.c | |||
| @@ -458,7 +458,7 @@ SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, | |||
| 458 | goto out; | 458 | goto out; |
| 459 | if (off & ~PAGE_MASK) | 459 | if (off & ~PAGE_MASK) |
| 460 | goto out; | 460 | goto out; |
| 461 | retval = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); | 461 | retval = ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 462 | out: | 462 | out: |
| 463 | return retval; | 463 | return retval; |
| 464 | } | 464 | } |
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c index 6258676bed85..35f7047bdebc 100644 --- a/arch/um/kernel/syscall.c +++ b/arch/um/kernel/syscall.c | |||
| @@ -22,7 +22,7 @@ long old_mmap(unsigned long addr, unsigned long len, | |||
| 22 | if (offset & ~PAGE_MASK) | 22 | if (offset & ~PAGE_MASK) |
| 23 | goto out; | 23 | goto out; |
| 24 | 24 | ||
| 25 | err = sys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); | 25 | err = ksys_mmap_pgoff(addr, len, prot, flags, fd, offset >> PAGE_SHIFT); |
| 26 | out: | 26 | out: |
| 27 | return err; | 27 | return err; |
| 28 | } | 28 | } |
diff --git a/arch/x86/ia32/sys_ia32.c b/arch/x86/ia32/sys_ia32.c index 401bd8ec9cf0..bff71b9ae3f5 100644 --- a/arch/x86/ia32/sys_ia32.c +++ b/arch/x86/ia32/sys_ia32.c | |||
| @@ -166,7 +166,7 @@ COMPAT_SYSCALL_DEFINE1(x86_mmap, struct mmap_arg_struct32 __user *, arg) | |||
| 166 | if (a.offset & ~PAGE_MASK) | 166 | if (a.offset & ~PAGE_MASK) |
| 167 | return -EINVAL; | 167 | return -EINVAL; |
| 168 | 168 | ||
| 169 | return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, | 169 | return ksys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, |
| 170 | a.offset>>PAGE_SHIFT); | 170 | a.offset>>PAGE_SHIFT); |
| 171 | } | 171 | } |
| 172 | 172 | ||
diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c index 676774b9bb8d..a3f15ed545b5 100644 --- a/arch/x86/kernel/sys_x86_64.c +++ b/arch/x86/kernel/sys_x86_64.c | |||
| @@ -97,7 +97,7 @@ SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, | |||
| 97 | if (off & ~PAGE_MASK) | 97 | if (off & ~PAGE_MASK) |
| 98 | goto out; | 98 | goto out; |
| 99 | 99 | ||
| 100 | error = sys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); | 100 | error = ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 101 | out: | 101 | out: |
| 102 | return error; | 102 | return error; |
| 103 | } | 103 | } |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 466d408deefd..ec866c959e7d 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
| @@ -979,6 +979,9 @@ static inline int ksys_fadvise64_64(int fd, loff_t offset, loff_t len, | |||
| 979 | return -EINVAL; | 979 | return -EINVAL; |
| 980 | } | 980 | } |
| 981 | #endif | 981 | #endif |
| 982 | unsigned long ksys_mmap_pgoff(unsigned long addr, unsigned long len, | ||
| 983 | unsigned long prot, unsigned long flags, | ||
| 984 | unsigned long fd, unsigned long pgoff); | ||
| 982 | 985 | ||
| 983 | /* | 986 | /* |
| 984 | * The following kernel syscall equivalents are just wrappers to fs-internal | 987 | * The following kernel syscall equivalents are just wrappers to fs-internal |
| @@ -1488,9 +1488,9 @@ unsigned long do_mmap(struct file *file, unsigned long addr, | |||
| 1488 | return addr; | 1488 | return addr; |
| 1489 | } | 1489 | } |
| 1490 | 1490 | ||
| 1491 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | 1491 | unsigned long ksys_mmap_pgoff(unsigned long addr, unsigned long len, |
| 1492 | unsigned long, prot, unsigned long, flags, | 1492 | unsigned long prot, unsigned long flags, |
| 1493 | unsigned long, fd, unsigned long, pgoff) | 1493 | unsigned long fd, unsigned long pgoff) |
| 1494 | { | 1494 | { |
| 1495 | struct file *file = NULL; | 1495 | struct file *file = NULL; |
| 1496 | unsigned long retval; | 1496 | unsigned long retval; |
| @@ -1537,6 +1537,13 @@ out_fput: | |||
| 1537 | return retval; | 1537 | return retval; |
| 1538 | } | 1538 | } |
| 1539 | 1539 | ||
| 1540 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | ||
| 1541 | unsigned long, prot, unsigned long, flags, | ||
| 1542 | unsigned long, fd, unsigned long, pgoff) | ||
| 1543 | { | ||
| 1544 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); | ||
| 1545 | } | ||
| 1546 | |||
| 1540 | #ifdef __ARCH_WANT_SYS_OLD_MMAP | 1547 | #ifdef __ARCH_WANT_SYS_OLD_MMAP |
| 1541 | struct mmap_arg_struct { | 1548 | struct mmap_arg_struct { |
| 1542 | unsigned long addr; | 1549 | unsigned long addr; |
| @@ -1556,8 +1563,8 @@ SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg) | |||
| 1556 | if (offset_in_page(a.offset)) | 1563 | if (offset_in_page(a.offset)) |
| 1557 | return -EINVAL; | 1564 | return -EINVAL; |
| 1558 | 1565 | ||
| 1559 | return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, | 1566 | return ksys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, |
| 1560 | a.offset >> PAGE_SHIFT); | 1567 | a.offset >> PAGE_SHIFT); |
| 1561 | } | 1568 | } |
| 1562 | #endif /* __ARCH_WANT_SYS_OLD_MMAP */ | 1569 | #endif /* __ARCH_WANT_SYS_OLD_MMAP */ |
| 1563 | 1570 | ||
diff --git a/mm/nommu.c b/mm/nommu.c index ebb6e618dade..cad329629530 100644 --- a/mm/nommu.c +++ b/mm/nommu.c | |||
| @@ -1423,9 +1423,9 @@ error_getting_region: | |||
| 1423 | return -ENOMEM; | 1423 | return -ENOMEM; |
| 1424 | } | 1424 | } |
| 1425 | 1425 | ||
| 1426 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | 1426 | unsigned long ksys_mmap_pgoff(unsigned long addr, unsigned long len, |
| 1427 | unsigned long, prot, unsigned long, flags, | 1427 | unsigned long prot, unsigned long flags, |
| 1428 | unsigned long, fd, unsigned long, pgoff) | 1428 | unsigned long fd, unsigned long pgoff) |
| 1429 | { | 1429 | { |
| 1430 | struct file *file = NULL; | 1430 | struct file *file = NULL; |
| 1431 | unsigned long retval = -EBADF; | 1431 | unsigned long retval = -EBADF; |
| @@ -1447,6 +1447,13 @@ out: | |||
| 1447 | return retval; | 1447 | return retval; |
| 1448 | } | 1448 | } |
| 1449 | 1449 | ||
| 1450 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | ||
| 1451 | unsigned long, prot, unsigned long, flags, | ||
| 1452 | unsigned long, fd, unsigned long, pgoff) | ||
| 1453 | { | ||
| 1454 | return ksys_mmap_pgoff(addr, len, prot, flags, fd, pgoff); | ||
| 1455 | } | ||
| 1456 | |||
| 1450 | #ifdef __ARCH_WANT_SYS_OLD_MMAP | 1457 | #ifdef __ARCH_WANT_SYS_OLD_MMAP |
| 1451 | struct mmap_arg_struct { | 1458 | struct mmap_arg_struct { |
| 1452 | unsigned long addr; | 1459 | unsigned long addr; |
| @@ -1466,8 +1473,8 @@ SYSCALL_DEFINE1(old_mmap, struct mmap_arg_struct __user *, arg) | |||
| 1466 | if (offset_in_page(a.offset)) | 1473 | if (offset_in_page(a.offset)) |
| 1467 | return -EINVAL; | 1474 | return -EINVAL; |
| 1468 | 1475 | ||
| 1469 | return sys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, | 1476 | return ksys_mmap_pgoff(a.addr, a.len, a.prot, a.flags, a.fd, |
| 1470 | a.offset >> PAGE_SHIFT); | 1477 | a.offset >> PAGE_SHIFT); |
| 1471 | } | 1478 | } |
| 1472 | #endif /* __ARCH_WANT_SYS_OLD_MMAP */ | 1479 | #endif /* __ARCH_WANT_SYS_OLD_MMAP */ |
| 1473 | 1480 | ||
