|
5 | 5 | #include <linux/unistd.h> |
6 | 6 |
|
7 | 7 | #include <asm/syscalls.h> |
| 8 | +#include <asm/syscall.h> |
8 | 9 |
|
9 | 10 | #define sys_clone sys_clone_wrapper |
10 | 11 | #define sys_clone3 sys_clone3_wrapper |
11 | 12 |
|
| 13 | +#ifdef CONFIG_64BIT |
| 14 | +SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, |
| 15 | + unsigned long, prot, unsigned long, flags, |
| 16 | + unsigned long, fd, off_t, off) |
| 17 | +{ |
| 18 | + if (offset_in_page(off) != 0) |
| 19 | + return -EINVAL; |
| 20 | + |
| 21 | + return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT); |
| 22 | +} |
| 23 | +#else |
| 24 | +SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, |
| 25 | + unsigned long, prot, unsigned long, flags, |
| 26 | + unsigned long, fd, unsigned long, off) |
| 27 | +{ |
| 28 | + if (offset_in_page(off) != 0) |
| 29 | + return -EINVAL; |
| 30 | + |
| 31 | + return ksys_mmap_pgoff(addr, len, prot, flags, fd, off); |
| 32 | +} |
| 33 | +#endif |
| 34 | + |
12 | 35 | #undef __SYSCALL |
13 | 36 | #define __SYSCALL(nr, call) [nr] = (call), |
14 | 37 |
|
|
0 commit comments