Commit | Line | Data |
---|---|---|
7dcbbb2b MS |
1 | /* |
2 | * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu> | |
3 | * Copyright (C) 2007-2009 PetaLogix | |
4 | * Copyright (C) 2007 John Williams <john.williams@petalogix.com> | |
5 | * | |
6 | * Copyright (C) 2006 Atmark Techno, Inc. | |
7 | * Yasushi SHOJI <yashi@atmark-techno.com> | |
8 | * Tetsuya OHKAWA <tetsuya@atmark-techno.com> | |
9 | * | |
10 | * This file is subject to the terms and conditions of the GNU General Public | |
11 | * License. See the file "COPYING" in the main directory of this archive | |
12 | * for more details. | |
13 | */ | |
14 | ||
15 | #include <linux/errno.h> | |
d64af918 | 16 | #include <linux/export.h> |
7dcbbb2b MS |
17 | #include <linux/mm.h> |
18 | #include <linux/smp.h> | |
7dcbbb2b MS |
19 | #include <linux/syscalls.h> |
20 | #include <linux/sem.h> | |
21 | #include <linux/msg.h> | |
22 | #include <linux/shm.h> | |
23 | #include <linux/stat.h> | |
24 | #include <linux/mman.h> | |
25 | #include <linux/sys.h> | |
26 | #include <linux/ipc.h> | |
7dcbbb2b | 27 | #include <linux/file.h> |
7dcbbb2b MS |
28 | #include <linux/err.h> |
29 | #include <linux/fs.h> | |
7dcbbb2b | 30 | #include <linux/semaphore.h> |
7dcbbb2b MS |
31 | #include <linux/uaccess.h> |
32 | #include <linux/unistd.h> | |
5a0e3ad6 | 33 | #include <linux/slab.h> |
7dcbbb2b | 34 | #include <asm/syscalls.h> |
7dcbbb2b | 35 | |
176195e7 MS |
36 | SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, |
37 | unsigned long, prot, unsigned long, flags, unsigned long, fd, | |
38 | off_t, pgoff) | |
7dcbbb2b | 39 | { |
f8b72560 AV |
40 | if (pgoff & ~PAGE_MASK) |
41 | return -EINVAL; | |
7dcbbb2b | 42 | |
f8b72560 | 43 | return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); |
7dcbbb2b | 44 | } |
99399545 MS |
45 | |
46 | SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, | |
47 | unsigned long, prot, unsigned long, flags, unsigned long, fd, | |
48 | unsigned long, pgoff) | |
49 | { | |
50 | if (pgoff & (~PAGE_MASK >> 12)) | |
51 | return -EINVAL; | |
52 | ||
53 | return sys_mmap_pgoff(addr, len, prot, flags, fd, | |
54 | pgoff >> (PAGE_SHIFT - 12)); | |
55 | } |