Blame view

include/linux/syscalls.h 37 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  /*
   * syscalls.h - Linux syscall interfaces (non-arch-specific)
   *
   * Copyright (c) 2004 Randy Dunlap
   * Copyright (c) 2004 Open Source Development Labs
   *
   * This file is released under the GPLv2.
   * See the file COPYING for more details.
   */
  
  #ifndef _LINUX_SYSCALLS_H
  #define _LINUX_SYSCALLS_H
  
  struct epoll_event;
  struct iattr;
  struct inode;
  struct iocb;
  struct io_event;
  struct iovec;
  struct itimerspec;
  struct itimerval;
  struct kexec_segment;
  struct linux_dirent;
  struct linux_dirent64;
  struct list_head;
a4679373c   Christoph Hellwig   Add generic sys_o...
26
  struct mmap_arg_struct;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
27
28
  struct msgbuf;
  struct msghdr;
a2e272554   Arnaldo Carvalho de Melo   net: Introduce re...
29
  struct mmsghdr;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
30
31
32
33
  struct msqid_ds;
  struct new_utsname;
  struct nfsctl_arg;
  struct __old_kernel_stat;
5cacdb4ad   Christoph Hellwig   Add generic sys_o...
34
35
  struct oldold_utsname;
  struct old_utsname;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
36
37
  struct pollfd;
  struct rlimit;
c022a0aca   Jiri Slaby   rlimits: implemen...
38
  struct rlimit64;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
39
40
  struct rusage;
  struct sched_param;
5d0e52830   Christoph Hellwig   Add generic sys_o...
41
  struct sel_arg_struct;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  struct semaphore;
  struct sembuf;
  struct shmid_ds;
  struct sockaddr;
  struct stat;
  struct stat64;
  struct statfs;
  struct statfs64;
  struct __sysctl_args;
  struct sysinfo;
  struct timespec;
  struct timeval;
  struct timex;
  struct timezone;
  struct tms;
  struct utimbuf;
  struct mq_attr;
3a2ca6449   Ulrich Drepper   [PATCH] prototype...
59
60
  struct compat_stat;
  struct compat_timeval;
0f0410823   David Woodhouse   [PATCH] powerpc: ...
61
  struct robust_list_head;
3cfc348bf   Andi Kleen   [PATCH] x86: Add ...
62
  struct getcpu_cache;
e55380edf   Heiko Carstens   [CVE-2009-0029] R...
63
  struct old_linux_dirent;
cdd6c482c   Ingo Molnar   perf: Do the big ...
64
  struct perf_event_attr;
990d6c2d7   Aneesh Kumar K.V   vfs: Add name to ...
65
  struct file_handle;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
66

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
67
68
69
70
71
  #include <linux/types.h>
  #include <linux/aio_abi.h>
  #include <linux/capability.h>
  #include <linux/list.h>
  #include <linux/sem.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
72
73
  #include <asm/siginfo.h>
  #include <asm/signal.h>
fb34a08c3   Jason Baron   tracing: Add trac...
74
  #include <linux/unistd.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
75
76
  #include <linux/quota.h>
  #include <linux/key.h>
47788c58e   Frederic Weisbecker   tracing/syscalls:...
77
  #include <trace/syscall.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
78

1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
  #define __SC_DECL1(t1, a1)	t1 a1
  #define __SC_DECL2(t2, a2, ...) t2 a2, __SC_DECL1(__VA_ARGS__)
  #define __SC_DECL3(t3, a3, ...) t3 a3, __SC_DECL2(__VA_ARGS__)
  #define __SC_DECL4(t4, a4, ...) t4 a4, __SC_DECL3(__VA_ARGS__)
  #define __SC_DECL5(t5, a5, ...) t5 a5, __SC_DECL4(__VA_ARGS__)
  #define __SC_DECL6(t6, a6, ...) t6 a6, __SC_DECL5(__VA_ARGS__)
  
  #define __SC_LONG1(t1, a1) 	long a1
  #define __SC_LONG2(t2, a2, ...) long a2, __SC_LONG1(__VA_ARGS__)
  #define __SC_LONG3(t3, a3, ...) long a3, __SC_LONG2(__VA_ARGS__)
  #define __SC_LONG4(t4, a4, ...) long a4, __SC_LONG3(__VA_ARGS__)
  #define __SC_LONG5(t5, a5, ...) long a5, __SC_LONG4(__VA_ARGS__)
  #define __SC_LONG6(t6, a6, ...) long a6, __SC_LONG5(__VA_ARGS__)
  
  #define __SC_CAST1(t1, a1)	(t1) a1
  #define __SC_CAST2(t2, a2, ...) (t2) a2, __SC_CAST1(__VA_ARGS__)
  #define __SC_CAST3(t3, a3, ...) (t3) a3, __SC_CAST2(__VA_ARGS__)
  #define __SC_CAST4(t4, a4, ...) (t4) a4, __SC_CAST3(__VA_ARGS__)
  #define __SC_CAST5(t5, a5, ...) (t5) a5, __SC_CAST4(__VA_ARGS__)
  #define __SC_CAST6(t6, a6, ...) (t6) a6, __SC_CAST5(__VA_ARGS__)
  
  #define __SC_TEST(type)		BUILD_BUG_ON(sizeof(type) > sizeof(long))
  #define __SC_TEST1(t1, a1)	__SC_TEST(t1)
  #define __SC_TEST2(t2, a2, ...)	__SC_TEST(t2); __SC_TEST1(__VA_ARGS__)
  #define __SC_TEST3(t3, a3, ...)	__SC_TEST(t3); __SC_TEST2(__VA_ARGS__)
  #define __SC_TEST4(t4, a4, ...)	__SC_TEST(t4); __SC_TEST3(__VA_ARGS__)
  #define __SC_TEST5(t5, a5, ...)	__SC_TEST(t5); __SC_TEST4(__VA_ARGS__)
  #define __SC_TEST6(t6, a6, ...)	__SC_TEST(t6); __SC_TEST5(__VA_ARGS__)
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
107
108
109
110
111
112
113
114
115
116
117
118
119
120
  #ifdef CONFIG_FTRACE_SYSCALLS
  #define __SC_STR_ADECL1(t, a)		#a
  #define __SC_STR_ADECL2(t, a, ...)	#a, __SC_STR_ADECL1(__VA_ARGS__)
  #define __SC_STR_ADECL3(t, a, ...)	#a, __SC_STR_ADECL2(__VA_ARGS__)
  #define __SC_STR_ADECL4(t, a, ...)	#a, __SC_STR_ADECL3(__VA_ARGS__)
  #define __SC_STR_ADECL5(t, a, ...)	#a, __SC_STR_ADECL4(__VA_ARGS__)
  #define __SC_STR_ADECL6(t, a, ...)	#a, __SC_STR_ADECL5(__VA_ARGS__)
  
  #define __SC_STR_TDECL1(t, a)		#t
  #define __SC_STR_TDECL2(t, a, ...)	#t, __SC_STR_TDECL1(__VA_ARGS__)
  #define __SC_STR_TDECL3(t, a, ...)	#t, __SC_STR_TDECL2(__VA_ARGS__)
  #define __SC_STR_TDECL4(t, a, ...)	#t, __SC_STR_TDECL3(__VA_ARGS__)
  #define __SC_STR_TDECL5(t, a, ...)	#t, __SC_STR_TDECL4(__VA_ARGS__)
  #define __SC_STR_TDECL6(t, a, ...)	#t, __SC_STR_TDECL5(__VA_ARGS__)
2239291ae   Steven Rostedt   tracing: Remove p...
121
122
  extern struct ftrace_event_class event_class_syscall_enter;
  extern struct ftrace_event_class event_class_syscall_exit;
80decc70a   Steven Rostedt   tracing: Move pri...
123
124
  extern struct trace_event_functions enter_syscall_print_funcs;
  extern struct trace_event_functions exit_syscall_print_funcs;
8f0820183   Steven Rostedt   tracing: Create c...
125

fb34a08c3   Jason Baron   tracing: Add trac...
126
  #define SYSCALL_TRACE_ENTER_EVENT(sname)				\
3d56e331b   Steven Rostedt   tracing: Replace ...
127
  	static struct syscall_metadata __syscall_meta_##sname;		\
fb34a08c3   Jason Baron   tracing: Add trac...
128
  	static struct ftrace_event_call __used				\
fb34a08c3   Jason Baron   tracing: Add trac...
129
130
  	  event_enter_##sname = {					\
  		.name                   = "sys_enter"#sname,		\
2239291ae   Steven Rostedt   tracing: Remove p...
131
  		.class			= &event_class_syscall_enter,	\
80decc70a   Steven Rostedt   tracing: Move pri...
132
  		.event.funcs            = &enter_syscall_print_funcs,	\
31c16b133   Lai Jiangshan   trace_syscalls: S...
133
  		.data			= (void *)&__syscall_meta_##sname,\
f4d5c029b   Lai Jiangshan   tracing: Compile ...
134
  		.flags			= TRACE_EVENT_FL_CAP_ANY,	\
53cf810b1   Frederic Weisbecker   tracing: Allow sy...
135
  	};								\
e4a9ea5ee   Steven Rostedt   tracing: Replace ...
136
137
  	static struct ftrace_event_call __used				\
  	  __attribute__((section("_ftrace_events")))			\
f4d5c029b   Lai Jiangshan   tracing: Compile ...
138
  	 *__event_enter_##sname = &event_enter_##sname;
fb34a08c3   Jason Baron   tracing: Add trac...
139
140
  
  #define SYSCALL_TRACE_EXIT_EVENT(sname)					\
3d56e331b   Steven Rostedt   tracing: Replace ...
141
  	static struct syscall_metadata __syscall_meta_##sname;		\
fb34a08c3   Jason Baron   tracing: Add trac...
142
  	static struct ftrace_event_call __used				\
fb34a08c3   Jason Baron   tracing: Add trac...
143
144
  	  event_exit_##sname = {					\
  		.name                   = "sys_exit"#sname,		\
2239291ae   Steven Rostedt   tracing: Remove p...
145
  		.class			= &event_class_syscall_exit,	\
80decc70a   Steven Rostedt   tracing: Move pri...
146
  		.event.funcs		= &exit_syscall_print_funcs,	\
31c16b133   Lai Jiangshan   trace_syscalls: S...
147
  		.data			= (void *)&__syscall_meta_##sname,\
f4d5c029b   Lai Jiangshan   tracing: Compile ...
148
  		.flags			= TRACE_EVENT_FL_CAP_ANY,	\
53cf810b1   Frederic Weisbecker   tracing: Allow sy...
149
  	};								\
e4a9ea5ee   Steven Rostedt   tracing: Replace ...
150
151
  	static struct ftrace_event_call __used				\
  	  __attribute__((section("_ftrace_events")))			\
f4d5c029b   Lai Jiangshan   tracing: Compile ...
152
  	*__event_exit_##sname = &event_exit_##sname;
fb34a08c3   Jason Baron   tracing: Add trac...
153

bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
154
  #define SYSCALL_METADATA(sname, nb)				\
540b7b8d6   Li Zefan   tracing/syscalls:...
155
156
  	SYSCALL_TRACE_ENTER_EVENT(sname);			\
  	SYSCALL_TRACE_EXIT_EVENT(sname);			\
2e33af029   Steven Rostedt   tracing: Move fie...
157
  	static struct syscall_metadata __used			\
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
158
159
  	  __syscall_meta_##sname = {				\
  		.name 		= "sys"#sname,			\
ba976970c   Ian Munsie   tracing/syscalls:...
160
  		.syscall_nr	= -1,	/* Filled in at boot */	\
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
161
162
163
  		.nb_args 	= nb,				\
  		.types		= types_##sname,		\
  		.args		= args_##sname,			\
540b7b8d6   Li Zefan   tracing/syscalls:...
164
165
  		.enter_event	= &event_enter_##sname,		\
  		.exit_event	= &event_exit_##sname,		\
2e33af029   Steven Rostedt   tracing: Move fie...
166
  		.enter_fields	= LIST_HEAD_INIT(__syscall_meta_##sname.enter_fields), \
3d56e331b   Steven Rostedt   tracing: Replace ...
167
168
169
170
  	};							\
  	static struct syscall_metadata __used			\
  	  __attribute__((section("__syscalls_metadata")))	\
  	 *__p_syscall_meta_##sname = &__syscall_meta_##sname;
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
171
172
  
  #define SYSCALL_DEFINE0(sname)					\
540b7b8d6   Li Zefan   tracing/syscalls:...
173
174
  	SYSCALL_TRACE_ENTER_EVENT(_##sname);			\
  	SYSCALL_TRACE_EXIT_EVENT(_##sname);			\
2e33af029   Steven Rostedt   tracing: Move fie...
175
  	static struct syscall_metadata __used			\
e96dc9674   Lai Jiangshan   tracing/syscalls:...
176
  	  __syscall_meta__##sname = {				\
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
177
  		.name 		= "sys_"#sname,			\
ba976970c   Ian Munsie   tracing/syscalls:...
178
  		.syscall_nr	= -1,	/* Filled in at boot */	\
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
179
  		.nb_args 	= 0,				\
540b7b8d6   Li Zefan   tracing/syscalls:...
180
181
  		.enter_event	= &event_enter__##sname,	\
  		.exit_event	= &event_exit__##sname,		\
2e33af029   Steven Rostedt   tracing: Move fie...
182
  		.enter_fields	= LIST_HEAD_INIT(__syscall_meta__##sname.enter_fields), \
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
183
  	};							\
3d56e331b   Steven Rostedt   tracing: Replace ...
184
185
186
  	static struct syscall_metadata __used			\
  	  __attribute__((section("__syscalls_metadata")))	\
  	 *__p_syscall_meta_##sname = &__syscall_meta__##sname;	\
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
187
  	asmlinkage long sys_##sname(void)
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
188
  #else
6c5979631   Heiko Carstens   syscall define: f...
189
  #define SYSCALL_DEFINE0(name)	   asmlinkage long sys_##name(void)
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
190
  #endif
6c5979631   Heiko Carstens   syscall define: f...
191
192
193
194
195
196
  #define SYSCALL_DEFINE1(name, ...) SYSCALL_DEFINEx(1, _##name, __VA_ARGS__)
  #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__)
  #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
  #define SYSCALL_DEFINE4(name, ...) SYSCALL_DEFINEx(4, _##name, __VA_ARGS__)
  #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__)
  #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__)
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
197

ee6a09322   Benjamin Herrenschmidt   [CVE-2009-0029] p...
198
199
200
201
202
203
204
205
  #ifdef CONFIG_PPC64
  #define SYSCALL_ALIAS(alias, name)					\
  	asm ("\t.globl " #alias "
  \t.set " #alias ", " #name "
  "	\
  	     "\t.globl ." #alias "
  \t.set ." #alias ", ." #name)
  #else
8b9cf76d0   Thomas Bogendoerfer   Fix SYSCALL_ALIAS...
206
  #if defined(CONFIG_ALPHA) || defined(CONFIG_MIPS)
e5d9a90c3   Ivan Kokshaysky   alpha: use syscal...
207
208
209
210
  #define SYSCALL_ALIAS(alias, name)					\
  	asm ( #alias " = " #name "
  \t.globl " #alias)
  #else
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
211
212
213
  #define SYSCALL_ALIAS(alias, name)					\
  	asm ("\t.globl " #alias "
  \t.set " #alias ", " #name)
ee6a09322   Benjamin Herrenschmidt   [CVE-2009-0029] p...
214
  #endif
e5d9a90c3   Ivan Kokshaysky   alpha: use syscal...
215
  #endif
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
216

bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
217
218
219
220
221
222
223
224
225
226
227
228
229
230
  #ifdef CONFIG_FTRACE_SYSCALLS
  #define SYSCALL_DEFINEx(x, sname, ...)				\
  	static const char *types_##sname[] = {			\
  		__SC_STR_TDECL##x(__VA_ARGS__)			\
  	};							\
  	static const char *args_##sname[] = {			\
  		__SC_STR_ADECL##x(__VA_ARGS__)			\
  	};							\
  	SYSCALL_METADATA(sname, x);				\
  	__SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
  #else
  #define SYSCALL_DEFINEx(x, sname, ...)				\
  	__SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
  #endif
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
231
232
233
  #ifdef CONFIG_HAVE_SYSCALL_WRAPPERS
  
  #define SYSCALL_DEFINE(name) static inline long SYSC_##name
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
234
235
  
  #define __SYSCALL_DEFINEx(x, name, ...)					\
6c5979631   Heiko Carstens   syscall define: f...
236
237
238
  	asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__));		\
  	static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__));	\
  	asmlinkage long SyS##name(__SC_LONG##x(__VA_ARGS__))		\
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
239
240
  	{								\
  		__SC_TEST##x(__VA_ARGS__);				\
6c5979631   Heiko Carstens   syscall define: f...
241
  		return (long) SYSC##name(__SC_CAST##x(__VA_ARGS__));	\
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
242
  	}								\
6c5979631   Heiko Carstens   syscall define: f...
243
244
  	SYSCALL_ALIAS(sys##name, SyS##name);				\
  	static inline long SYSC##name(__SC_DECL##x(__VA_ARGS__))
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
245
246
247
248
  
  #else /* CONFIG_HAVE_SYSCALL_WRAPPERS */
  
  #define SYSCALL_DEFINE(name) asmlinkage long sys_##name
bed1ffca0   Frederic Weisbecker   tracing/syscalls:...
249
  #define __SYSCALL_DEFINEx(x, name, ...)					\
6c5979631   Heiko Carstens   syscall define: f...
250
  	asmlinkage long sys##name(__SC_DECL##x(__VA_ARGS__))
1a94bc347   Heiko Carstens   [CVE-2009-0029] S...
251
252
  
  #endif /* CONFIG_HAVE_SYSCALL_WRAPPERS */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
253
254
255
256
257
258
259
260
261
262
263
264
  asmlinkage long sys_time(time_t __user *tloc);
  asmlinkage long sys_stime(time_t __user *tptr);
  asmlinkage long sys_gettimeofday(struct timeval __user *tv,
  				struct timezone __user *tz);
  asmlinkage long sys_settimeofday(struct timeval __user *tv,
  				struct timezone __user *tz);
  asmlinkage long sys_adjtimex(struct timex __user *txc_p);
  
  asmlinkage long sys_times(struct tms __user *tbuf);
  
  asmlinkage long sys_gettid(void);
  asmlinkage long sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
265
  asmlinkage long sys_alarm(unsigned int seconds);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
  asmlinkage long sys_getpid(void);
  asmlinkage long sys_getppid(void);
  asmlinkage long sys_getuid(void);
  asmlinkage long sys_geteuid(void);
  asmlinkage long sys_getgid(void);
  asmlinkage long sys_getegid(void);
  asmlinkage long sys_getresuid(uid_t __user *ruid, uid_t __user *euid, uid_t __user *suid);
  asmlinkage long sys_getresgid(gid_t __user *rgid, gid_t __user *egid, gid_t __user *sgid);
  asmlinkage long sys_getpgid(pid_t pid);
  asmlinkage long sys_getpgrp(void);
  asmlinkage long sys_getsid(pid_t pid);
  asmlinkage long sys_getgroups(int gidsetsize, gid_t __user *grouplist);
  
  asmlinkage long sys_setregid(gid_t rgid, gid_t egid);
  asmlinkage long sys_setgid(gid_t gid);
  asmlinkage long sys_setreuid(uid_t ruid, uid_t euid);
  asmlinkage long sys_setuid(uid_t uid);
  asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid);
  asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid);
  asmlinkage long sys_setfsuid(uid_t uid);
  asmlinkage long sys_setfsgid(gid_t gid);
  asmlinkage long sys_setpgid(pid_t pid, pid_t pgid);
  asmlinkage long sys_setsid(void);
  asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist);
  
  asmlinkage long sys_acct(const char __user *name);
  asmlinkage long sys_capget(cap_user_header_t header,
  				cap_user_data_t dataptr);
  asmlinkage long sys_capset(cap_user_header_t header,
  				const cap_user_data_t data);
485d52768   Oleg Nesterov   sys_personality: ...
296
  asmlinkage long sys_personality(unsigned int personality);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
  
  asmlinkage long sys_sigpending(old_sigset_t __user *set);
  asmlinkage long sys_sigprocmask(int how, old_sigset_t __user *set,
  				old_sigset_t __user *oset);
  asmlinkage long sys_getitimer(int which, struct itimerval __user *value);
  asmlinkage long sys_setitimer(int which,
  				struct itimerval __user *value,
  				struct itimerval __user *ovalue);
  asmlinkage long sys_timer_create(clockid_t which_clock,
  				 struct sigevent __user *timer_event_spec,
  				 timer_t __user * created_timer_id);
  asmlinkage long sys_timer_gettime(timer_t timer_id,
  				struct itimerspec __user *setting);
  asmlinkage long sys_timer_getoverrun(timer_t timer_id);
  asmlinkage long sys_timer_settime(timer_t timer_id, int flags,
  				const struct itimerspec __user *new_setting,
  				struct itimerspec __user *old_setting);
  asmlinkage long sys_timer_delete(timer_t timer_id);
  asmlinkage long sys_clock_settime(clockid_t which_clock,
  				const struct timespec __user *tp);
  asmlinkage long sys_clock_gettime(clockid_t which_clock,
  				struct timespec __user *tp);
f1f1d5ebd   Richard Cochran   posix-timers: Int...
319
320
  asmlinkage long sys_clock_adjtime(clockid_t which_clock,
  				struct timex __user *tx);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
  asmlinkage long sys_clock_getres(clockid_t which_clock,
  				struct timespec __user *tp);
  asmlinkage long sys_clock_nanosleep(clockid_t which_clock, int flags,
  				const struct timespec __user *rqtp,
  				struct timespec __user *rmtp);
  
  asmlinkage long sys_nice(int increment);
  asmlinkage long sys_sched_setscheduler(pid_t pid, int policy,
  					struct sched_param __user *param);
  asmlinkage long sys_sched_setparam(pid_t pid,
  					struct sched_param __user *param);
  asmlinkage long sys_sched_getscheduler(pid_t pid);
  asmlinkage long sys_sched_getparam(pid_t pid,
  					struct sched_param __user *param);
  asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len,
  					unsigned long __user *user_mask_ptr);
  asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len,
  					unsigned long __user *user_mask_ptr);
  asmlinkage long sys_sched_yield(void);
  asmlinkage long sys_sched_get_priority_max(int policy);
  asmlinkage long sys_sched_get_priority_min(int policy);
  asmlinkage long sys_sched_rr_get_interval(pid_t pid,
  					struct timespec __user *interval);
  asmlinkage long sys_setpriority(int which, int who, int niceval);
  asmlinkage long sys_getpriority(int which, int who);
  
  asmlinkage long sys_shutdown(int, int);
  asmlinkage long sys_reboot(int magic1, int magic2, unsigned int cmd,
  				void __user *arg);
  asmlinkage long sys_restart_syscall(void);
72414d3f1   Maneesh Soni   [PATCH] kexec cod...
351
352
353
  asmlinkage long sys_kexec_load(unsigned long entry, unsigned long nr_segments,
  				struct kexec_segment __user *segments,
  				unsigned long flags);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
354
355
  
  asmlinkage long sys_exit(int error_code);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
356
  asmlinkage long sys_exit_group(int error_code);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
357
358
359
360
361
362
363
  asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr,
  				int options, struct rusage __user *ru);
  asmlinkage long sys_waitid(int which, pid_t pid,
  			   struct siginfo __user *infop,
  			   int options, struct rusage __user *ru);
  asmlinkage long sys_waitpid(pid_t pid, int __user *stat_addr, int options);
  asmlinkage long sys_set_tid_address(int __user *tidptr);
e2970f2fb   Ingo Molnar   [PATCH] pi-futex:...
364
  asmlinkage long sys_futex(u32 __user *uaddr, int op, u32 val,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
365
  			struct timespec __user *utime, u32 __user *uaddr2,
e2970f2fb   Ingo Molnar   [PATCH] pi-futex:...
366
  			u32 val3);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
367
368
369
370
371
372
373
374
375
376
377
378
379
  
  asmlinkage long sys_init_module(void __user *umod, unsigned long len,
  				const char __user *uargs);
  asmlinkage long sys_delete_module(const char __user *name_user,
  				unsigned int flags);
  
  asmlinkage long sys_rt_sigprocmask(int how, sigset_t __user *set,
  				sigset_t __user *oset, size_t sigsetsize);
  asmlinkage long sys_rt_sigpending(sigset_t __user *set, size_t sigsetsize);
  asmlinkage long sys_rt_sigtimedwait(const sigset_t __user *uthese,
  				siginfo_t __user *uinfo,
  				const struct timespec __user *uts,
  				size_t sigsetsize);
7afdbf23c   Arnd Bergmann   signals: declare ...
380
381
  asmlinkage long sys_rt_tgsigqueueinfo(pid_t tgid, pid_t  pid, int sig,
  		siginfo_t __user *uinfo);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
382
383
384
385
386
387
  asmlinkage long sys_kill(int pid, int sig);
  asmlinkage long sys_tgkill(int tgid, int pid, int sig);
  asmlinkage long sys_tkill(int pid, int sig);
  asmlinkage long sys_rt_sigqueueinfo(int pid, int sig, siginfo_t __user *uinfo);
  asmlinkage long sys_sgetmask(void);
  asmlinkage long sys_ssetmask(int newmask);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
388
  asmlinkage long sys_signal(int sig, __sighandler_t handler);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
389
390
391
392
393
394
395
396
397
398
399
  asmlinkage long sys_pause(void);
  
  asmlinkage long sys_sync(void);
  asmlinkage long sys_fsync(unsigned int fd);
  asmlinkage long sys_fdatasync(unsigned int fd);
  asmlinkage long sys_bdflush(int func, long data);
  asmlinkage long sys_mount(char __user *dev_name, char __user *dir_name,
  				char __user *type, unsigned long flags,
  				void __user *data);
  asmlinkage long sys_umount(char __user *name, int flags);
  asmlinkage long sys_oldumount(char __user *name);
4fd8da8d6   Heiko Carstens   fs: change sys_tr...
400
  asmlinkage long sys_truncate(const char __user *path, long length);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
401
  asmlinkage long sys_ftruncate(unsigned int fd, unsigned long length);
c78873252   David Howells   Mark arguments to...
402
  asmlinkage long sys_stat(const char __user *filename,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
403
404
405
406
407
408
409
410
  			struct __old_kernel_stat __user *statbuf);
  asmlinkage long sys_statfs(const char __user * path,
  				struct statfs __user *buf);
  asmlinkage long sys_statfs64(const char __user *path, size_t sz,
  				struct statfs64 __user *buf);
  asmlinkage long sys_fstatfs(unsigned int fd, struct statfs __user *buf);
  asmlinkage long sys_fstatfs64(unsigned int fd, size_t sz,
  				struct statfs64 __user *buf);
c78873252   David Howells   Mark arguments to...
411
  asmlinkage long sys_lstat(const char __user *filename,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
412
413
414
  			struct __old_kernel_stat __user *statbuf);
  asmlinkage long sys_fstat(unsigned int fd,
  			struct __old_kernel_stat __user *statbuf);
c78873252   David Howells   Mark arguments to...
415
  asmlinkage long sys_newstat(const char __user *filename,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
416
  				struct stat __user *statbuf);
c78873252   David Howells   Mark arguments to...
417
  asmlinkage long sys_newlstat(const char __user *filename,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
418
419
420
421
  				struct stat __user *statbuf);
  asmlinkage long sys_newfstat(unsigned int fd, struct stat __user *statbuf);
  asmlinkage long sys_ustat(unsigned dev, struct ustat __user *ubuf);
  #if BITS_PER_LONG == 32
c78873252   David Howells   Mark arguments to...
422
  asmlinkage long sys_stat64(const char __user *filename,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
423
424
  				struct stat64 __user *statbuf);
  asmlinkage long sys_fstat64(unsigned long fd, struct stat64 __user *statbuf);
c78873252   David Howells   Mark arguments to...
425
  asmlinkage long sys_lstat64(const char __user *filename,
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
426
427
428
429
  				struct stat64 __user *statbuf);
  asmlinkage long sys_truncate64(const char __user *path, loff_t length);
  asmlinkage long sys_ftruncate64(unsigned int fd, loff_t length);
  #endif
8f0cfa52a   David Howells   xattr: add missin...
430
431
432
433
434
435
  asmlinkage long sys_setxattr(const char __user *path, const char __user *name,
  			     const void __user *value, size_t size, int flags);
  asmlinkage long sys_lsetxattr(const char __user *path, const char __user *name,
  			      const void __user *value, size_t size, int flags);
  asmlinkage long sys_fsetxattr(int fd, const char __user *name,
  			      const void __user *value, size_t size, int flags);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
436
437
438
439
440
441
442
443
444
445
446
  asmlinkage long sys_getxattr(const char __user *path, const char __user *name,
  			     void __user *value, size_t size);
  asmlinkage long sys_lgetxattr(const char __user *path, const char __user *name,
  			      void __user *value, size_t size);
  asmlinkage long sys_fgetxattr(int fd, const char __user *name,
  			      void __user *value, size_t size);
  asmlinkage long sys_listxattr(const char __user *path, char __user *list,
  			      size_t size);
  asmlinkage long sys_llistxattr(const char __user *path, char __user *list,
  			       size_t size);
  asmlinkage long sys_flistxattr(int fd, char __user *list, size_t size);
8f0cfa52a   David Howells   xattr: add missin...
447
448
449
450
451
  asmlinkage long sys_removexattr(const char __user *path,
  				const char __user *name);
  asmlinkage long sys_lremovexattr(const char __user *path,
  				 const char __user *name);
  asmlinkage long sys_fremovexattr(int fd, const char __user *name);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
452

2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
453
  asmlinkage long sys_brk(unsigned long brk);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
454
455
  asmlinkage long sys_mprotect(unsigned long start, size_t len,
  				unsigned long prot);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
456
457
458
  asmlinkage long sys_mremap(unsigned long addr,
  			   unsigned long old_len, unsigned long new_len,
  			   unsigned long flags, unsigned long new_addr);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
  asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size,
  			unsigned long prot, unsigned long pgoff,
  			unsigned long flags);
  asmlinkage long sys_msync(unsigned long start, size_t len, int flags);
  asmlinkage long sys_fadvise64(int fd, loff_t offset, size_t len, int advice);
  asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice);
  asmlinkage long sys_munmap(unsigned long addr, size_t len);
  asmlinkage long sys_mlock(unsigned long start, size_t len);
  asmlinkage long sys_munlock(unsigned long start, size_t len);
  asmlinkage long sys_mlockall(int flags);
  asmlinkage long sys_munlockall(void);
  asmlinkage long sys_madvise(unsigned long start, size_t len, int behavior);
  asmlinkage long sys_mincore(unsigned long start, size_t len,
  				unsigned char __user * vec);
  
  asmlinkage long sys_pivot_root(const char __user *new_root,
  				const char __user *put_old);
  asmlinkage long sys_chroot(const char __user *filename);
  asmlinkage long sys_mknod(const char __user *filename, int mode,
  				unsigned dev);
  asmlinkage long sys_link(const char __user *oldname,
  				const char __user *newname);
  asmlinkage long sys_symlink(const char __user *old, const char __user *new);
  asmlinkage long sys_unlink(const char __user *pathname);
  asmlinkage long sys_rename(const char __user *oldname,
  				const char __user *newname);
  asmlinkage long sys_chmod(const char __user *filename, mode_t mode);
  asmlinkage long sys_fchmod(unsigned int fd, mode_t mode);
  
  asmlinkage long sys_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg);
  #if BITS_PER_LONG == 32
  asmlinkage long sys_fcntl64(unsigned int fd,
  				unsigned int cmd, unsigned long arg);
  #endif
cc6f26774   Masatake YAMATO   syscalls.h: remov...
493
  asmlinkage long sys_pipe(int __user *fildes);
ecf4667d3   Arnd Bergmann   syscalls.h add th...
494
  asmlinkage long sys_pipe2(int __user *fildes, int flags);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
495
496
  asmlinkage long sys_dup(unsigned int fildes);
  asmlinkage long sys_dup2(unsigned int oldfd, unsigned int newfd);
336dd1f70   Ulrich Drepper   flag parameters: ...
497
  asmlinkage long sys_dup3(unsigned int oldfd, unsigned int newfd, int flags);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
  asmlinkage long sys_ioperm(unsigned long from, unsigned long num, int on);
  asmlinkage long sys_ioctl(unsigned int fd, unsigned int cmd,
  				unsigned long arg);
  asmlinkage long sys_flock(unsigned int fd, unsigned int cmd);
  asmlinkage long sys_io_setup(unsigned nr_reqs, aio_context_t __user *ctx);
  asmlinkage long sys_io_destroy(aio_context_t ctx);
  asmlinkage long sys_io_getevents(aio_context_t ctx_id,
  				long min_nr,
  				long nr,
  				struct io_event __user *events,
  				struct timespec __user *timeout);
  asmlinkage long sys_io_submit(aio_context_t, long,
  				struct iocb __user * __user *);
  asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb,
  			      struct io_event __user *result);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
513
514
515
516
  asmlinkage long sys_sendfile(int out_fd, int in_fd,
  			     off_t __user *offset, size_t count);
  asmlinkage long sys_sendfile64(int out_fd, int in_fd,
  			       loff_t __user *offset, size_t count);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
  asmlinkage long sys_readlink(const char __user *path,
  				char __user *buf, int bufsiz);
  asmlinkage long sys_creat(const char __user *pathname, int mode);
  asmlinkage long sys_open(const char __user *filename,
  				int flags, int mode);
  asmlinkage long sys_close(unsigned int fd);
  asmlinkage long sys_access(const char __user *filename, int mode);
  asmlinkage long sys_vhangup(void);
  asmlinkage long sys_chown(const char __user *filename,
  				uid_t user, gid_t group);
  asmlinkage long sys_lchown(const char __user *filename,
  				uid_t user, gid_t group);
  asmlinkage long sys_fchown(unsigned int fd, uid_t user, gid_t group);
  #ifdef CONFIG_UID16
  asmlinkage long sys_chown16(const char __user *filename,
  				old_uid_t user, old_gid_t group);
  asmlinkage long sys_lchown16(const char __user *filename,
  				old_uid_t user, old_gid_t group);
  asmlinkage long sys_fchown16(unsigned int fd, old_uid_t user, old_gid_t group);
  asmlinkage long sys_setregid16(old_gid_t rgid, old_gid_t egid);
  asmlinkage long sys_setgid16(old_gid_t gid);
  asmlinkage long sys_setreuid16(old_uid_t ruid, old_uid_t euid);
  asmlinkage long sys_setuid16(old_uid_t uid);
  asmlinkage long sys_setresuid16(old_uid_t ruid, old_uid_t euid, old_uid_t suid);
  asmlinkage long sys_getresuid16(old_uid_t __user *ruid,
  				old_uid_t __user *euid, old_uid_t __user *suid);
  asmlinkage long sys_setresgid16(old_gid_t rgid, old_gid_t egid, old_gid_t sgid);
  asmlinkage long sys_getresgid16(old_gid_t __user *rgid,
  				old_gid_t __user *egid, old_gid_t __user *sgid);
  asmlinkage long sys_setfsuid16(old_uid_t uid);
  asmlinkage long sys_setfsgid16(old_gid_t gid);
  asmlinkage long sys_getgroups16(int gidsetsize, old_gid_t __user *grouplist);
  asmlinkage long sys_setgroups16(int gidsetsize, old_gid_t __user *grouplist);
  asmlinkage long sys_getuid16(void);
  asmlinkage long sys_geteuid16(void);
  asmlinkage long sys_getgid16(void);
  asmlinkage long sys_getegid16(void);
  #endif
  
  asmlinkage long sys_utime(char __user *filename,
  				struct utimbuf __user *times);
  asmlinkage long sys_utimes(char __user *filename,
  				struct timeval __user *utimes);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
560
561
  asmlinkage long sys_lseek(unsigned int fd, off_t offset,
  			  unsigned int origin);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
562
563
564
  asmlinkage long sys_llseek(unsigned int fd, unsigned long offset_high,
  			unsigned long offset_low, loff_t __user *result,
  			unsigned int origin);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
565
566
567
568
569
570
571
572
573
574
575
576
577
578
  asmlinkage long sys_read(unsigned int fd, char __user *buf, size_t count);
  asmlinkage long sys_readahead(int fd, loff_t offset, size_t count);
  asmlinkage long sys_readv(unsigned long fd,
  			  const struct iovec __user *vec,
  			  unsigned long vlen);
  asmlinkage long sys_write(unsigned int fd, const char __user *buf,
  			  size_t count);
  asmlinkage long sys_writev(unsigned long fd,
  			   const struct iovec __user *vec,
  			   unsigned long vlen);
  asmlinkage long sys_pread64(unsigned int fd, char __user *buf,
  			    size_t count, loff_t pos);
  asmlinkage long sys_pwrite64(unsigned int fd, const char __user *buf,
  			     size_t count, loff_t pos);
f3554f4bc   Gerd Hoffmann   preadv/pwritev: A...
579
  asmlinkage long sys_preadv(unsigned long fd, const struct iovec __user *vec,
601cc11d0   Linus Torvalds   Make non-compat p...
580
  			   unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
f3554f4bc   Gerd Hoffmann   preadv/pwritev: A...
581
  asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec,
601cc11d0   Linus Torvalds   Make non-compat p...
582
  			    unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
  asmlinkage long sys_getcwd(char __user *buf, unsigned long size);
  asmlinkage long sys_mkdir(const char __user *pathname, int mode);
  asmlinkage long sys_chdir(const char __user *filename);
  asmlinkage long sys_fchdir(unsigned int fd);
  asmlinkage long sys_rmdir(const char __user *pathname);
  asmlinkage long sys_lookup_dcookie(u64 cookie64, char __user *buf, size_t len);
  asmlinkage long sys_quotactl(unsigned int cmd, const char __user *special,
  				qid_t id, void __user *addr);
  asmlinkage long sys_getdents(unsigned int fd,
  				struct linux_dirent __user *dirent,
  				unsigned int count);
  asmlinkage long sys_getdents64(unsigned int fd,
  				struct linux_dirent64 __user *dirent,
  				unsigned int count);
  
  asmlinkage long sys_setsockopt(int fd, int level, int optname,
  				char __user *optval, int optlen);
  asmlinkage long sys_getsockopt(int fd, int level, int optname,
  				char __user *optval, int __user *optlen);
  asmlinkage long sys_bind(int, struct sockaddr __user *, int);
  asmlinkage long sys_connect(int, struct sockaddr __user *, int);
  asmlinkage long sys_accept(int, struct sockaddr __user *, int __user *);
de11defeb   Ulrich Drepper   reintroduce accept4
605
  asmlinkage long sys_accept4(int, struct sockaddr __user *, int __user *, int);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
606
607
608
609
610
611
  asmlinkage long sys_getsockname(int, struct sockaddr __user *, int __user *);
  asmlinkage long sys_getpeername(int, struct sockaddr __user *, int __user *);
  asmlinkage long sys_send(int, void __user *, size_t, unsigned);
  asmlinkage long sys_sendto(int, void __user *, size_t, unsigned,
  				struct sockaddr __user *, int);
  asmlinkage long sys_sendmsg(int fd, struct msghdr __user *msg, unsigned flags);
228e548e6   Anton Blanchard   net: Add sendmmsg...
612
613
  asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg,
  			     unsigned int vlen, unsigned flags);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
614
615
616
617
  asmlinkage long sys_recv(int, void __user *, size_t, unsigned);
  asmlinkage long sys_recvfrom(int, void __user *, size_t, unsigned,
  				struct sockaddr __user *, int __user *);
  asmlinkage long sys_recvmsg(int fd, struct msghdr __user *msg, unsigned flags);
a2e272554   Arnaldo Carvalho de Melo   net: Introduce re...
618
619
620
  asmlinkage long sys_recvmmsg(int fd, struct mmsghdr __user *msg,
  			     unsigned int vlen, unsigned flags,
  			     struct timespec __user *timeout);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
621
622
623
624
625
626
627
628
  asmlinkage long sys_socket(int, int, int);
  asmlinkage long sys_socketpair(int, int, int, int __user *);
  asmlinkage long sys_socketcall(int call, unsigned long __user *args);
  asmlinkage long sys_listen(int, int);
  asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds,
  				long timeout);
  asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
  			fd_set __user *exp, struct timeval __user *tvp);
5d0e52830   Christoph Hellwig   Add generic sys_o...
629
  asmlinkage long sys_old_select(struct sel_arg_struct __user *arg);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
630
  asmlinkage long sys_epoll_create(int size);
9fe5ad9c8   Ulrich Drepper   flag parameters a...
631
  asmlinkage long sys_epoll_create1(int flags);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
632
633
634
635
  asmlinkage long sys_epoll_ctl(int epfd, int op, int fd,
  				struct epoll_event __user *event);
  asmlinkage long sys_epoll_wait(int epfd, struct epoll_event __user *events,
  				int maxevents, int timeout);
b611967de   Davide Libenzi   [PATCH] epoll_pwa...
636
637
638
639
  asmlinkage long sys_epoll_pwait(int epfd, struct epoll_event __user *events,
  				int maxevents, int timeout,
  				const sigset_t __user *sigmask,
  				size_t sigsetsize);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
640
641
642
643
  asmlinkage long sys_gethostname(char __user *name, int len);
  asmlinkage long sys_sethostname(char __user *name, int len);
  asmlinkage long sys_setdomainname(char __user *name, int len);
  asmlinkage long sys_newuname(struct new_utsname __user *name);
5cacdb4ad   Christoph Hellwig   Add generic sys_o...
644
645
  asmlinkage long sys_uname(struct old_utsname __user *);
  asmlinkage long sys_olduname(struct oldold_utsname __user *);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
646
647
648
  
  asmlinkage long sys_getrlimit(unsigned int resource,
  				struct rlimit __user *rlim);
f606ddf42   Adrian Bunk   remove the v850 port
649
  #if defined(COMPAT_RLIM_OLD_INFINITY) || !(defined(CONFIG_IA64))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
650
651
652
653
  asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit __user *rlim);
  #endif
  asmlinkage long sys_setrlimit(unsigned int resource,
  				struct rlimit __user *rlim);
c022a0aca   Jiri Slaby   rlimits: implemen...
654
655
656
  asmlinkage long sys_prlimit64(pid_t pid, unsigned int resource,
  				const struct rlimit64 __user *new_rlim,
  				struct rlimit64 __user *old_rlim);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
  asmlinkage long sys_getrusage(int who, struct rusage __user *ru);
  asmlinkage long sys_umask(int mask);
  
  asmlinkage long sys_msgget(key_t key, int msgflg);
  asmlinkage long sys_msgsnd(int msqid, struct msgbuf __user *msgp,
  				size_t msgsz, int msgflg);
  asmlinkage long sys_msgrcv(int msqid, struct msgbuf __user *msgp,
  				size_t msgsz, long msgtyp, int msgflg);
  asmlinkage long sys_msgctl(int msqid, int cmd, struct msqid_ds __user *buf);
  
  asmlinkage long sys_semget(key_t key, int nsems, int semflg);
  asmlinkage long sys_semop(int semid, struct sembuf __user *sops,
  				unsigned nsops);
  asmlinkage long sys_semctl(int semid, int semnum, int cmd, union semun arg);
  asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops,
  				unsigned nsops,
  				const struct timespec __user *timeout);
7d87e14c2   Stephen Rothwell   [PATCH] consolida...
674
  asmlinkage long sys_shmat(int shmid, char __user *shmaddr, int shmflg);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
675
676
677
  asmlinkage long sys_shmget(key_t key, size_t size, int flag);
  asmlinkage long sys_shmdt(char __user *shmaddr);
  asmlinkage long sys_shmctl(int shmid, int cmd, struct shmid_ds __user *buf);
ae6be51ed   Linus Torvalds   Fix up prototype ...
678
  asmlinkage long sys_ipc(unsigned int call, int first, unsigned long second,
baed7fc9b   Christoph Hellwig   Add generic sys_i...
679
  		unsigned long third, void __user *ptr, long fifth);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
680
681
682
683
  
  asmlinkage long sys_mq_open(const char __user *name, int oflag, mode_t mode, struct mq_attr __user *attr);
  asmlinkage long sys_mq_unlink(const char __user *name);
  asmlinkage long sys_mq_timedsend(mqd_t mqdes, const char __user *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec __user *abs_timeout);
2ed7c03ec   Heiko Carstens   [CVE-2009-0029] C...
684
  asmlinkage long sys_mq_timedreceive(mqd_t mqdes, char __user *msg_ptr, size_t msg_len, unsigned int __user *msg_prio, const struct timespec __user *abs_timeout);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
  asmlinkage long sys_mq_notify(mqd_t mqdes, const struct sigevent __user *notification);
  asmlinkage long sys_mq_getsetattr(mqd_t mqdes, const struct mq_attr __user *mqstat, struct mq_attr __user *omqstat);
  
  asmlinkage long sys_pciconfig_iobase(long which, unsigned long bus, unsigned long devfn);
  asmlinkage long sys_pciconfig_read(unsigned long bus, unsigned long dfn,
  				unsigned long off, unsigned long len,
  				void __user *buf);
  asmlinkage long sys_pciconfig_write(unsigned long bus, unsigned long dfn,
  				unsigned long off, unsigned long len,
  				void __user *buf);
  
  asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3,
  			unsigned long arg4, unsigned long arg5);
  asmlinkage long sys_swapon(const char __user *specialfile, int swap_flags);
  asmlinkage long sys_swapoff(const char __user *specialfile);
  asmlinkage long sys_sysctl(struct __sysctl_args __user *args);
  asmlinkage long sys_sysinfo(struct sysinfo __user *info);
  asmlinkage long sys_sysfs(int option,
  				unsigned long arg1, unsigned long arg2);
  asmlinkage long sys_nfsservctl(int cmd,
  				struct nfsctl_arg __user *arg,
  				void __user *res);
  asmlinkage long sys_syslog(int type, char __user *buf, int len);
  asmlinkage long sys_uselib(const char __user *library);
  asmlinkage long sys_ni_syscall(void);
4abf98696   Namhyung Kim   ptrace: change si...
710
711
  asmlinkage long sys_ptrace(long request, long pid, unsigned long addr,
  			   unsigned long data);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
712
713
714
715
716
717
718
719
720
721
722
723
724
725
  
  asmlinkage long sys_add_key(const char __user *_type,
  			    const char __user *_description,
  			    const void __user *_payload,
  			    size_t plen,
  			    key_serial_t destringid);
  
  asmlinkage long sys_request_key(const char __user *_type,
  				const char __user *_description,
  				const char __user *_callout_info,
  				key_serial_t destringid);
  
  asmlinkage long sys_keyctl(int cmd, unsigned long arg2, unsigned long arg3,
  			   unsigned long arg4, unsigned long arg5);
cf3668088   Anton Blanchard   [PATCH] move iopr...
726
727
  asmlinkage long sys_ioprio_set(int which, int who, int ioprio);
  asmlinkage long sys_ioprio_get(int which, int who);
7980cbbb3   Eric Dumazet   [PATCH] Adds sys_...
728
  asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask,
5131cf154   Arnd Bergmann   [PATCH] add missi...
729
  				unsigned long maxnode);
39743889a   Christoph Lameter   [PATCH] Swap Migr...
730
  asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode,
5131cf154   Arnd Bergmann   [PATCH] add missi...
731
732
  				const unsigned long __user *from,
  				const unsigned long __user *to);
742755a1d   Christoph Lameter   [PATCH] page migr...
733
734
735
736
737
  asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages,
  				const void __user * __user *pages,
  				const int __user *nodes,
  				int __user *status,
  				int flags);
5131cf154   Arnd Bergmann   [PATCH] add missi...
738
739
740
741
742
743
744
745
746
747
748
  asmlinkage long sys_mbind(unsigned long start, unsigned long len,
  				unsigned long mode,
  				unsigned long __user *nmask,
  				unsigned long maxnode,
  				unsigned flags);
  asmlinkage long sys_get_mempolicy(int __user *policy,
  				unsigned long __user *nmask,
  				unsigned long maxnode,
  				unsigned long addr, unsigned long flags);
  
  asmlinkage long sys_inotify_init(void);
4006553b0   Ulrich Drepper   flag parameters: ...
749
  asmlinkage long sys_inotify_init1(int flags);
5131cf154   Arnd Bergmann   [PATCH] add missi...
750
751
  asmlinkage long sys_inotify_add_watch(int fd, const char __user *path,
  					u32 mask);
4ae8978cf   Michael Kerrisk   inotify: fix type...
752
  asmlinkage long sys_inotify_rm_watch(int fd, __s32 wd);
cf3668088   Anton Blanchard   [PATCH] move iopr...
753

67207b966   Arnd Bergmann   [PATCH] spufs: Th...
754
755
756
  asmlinkage long sys_spu_run(int fd, __u32 __user *unpc,
  				 __u32 __user *ustatus);
  asmlinkage long sys_spu_create(const char __user *name,
8e68e2f24   Arnd Bergmann   [CELL] spufs: ext...
757
  		unsigned int flags, mode_t mode, int fd);
67207b966   Arnd Bergmann   [PATCH] spufs: Th...
758

3a2ca6449   Ulrich Drepper   [PATCH] prototype...
759
760
761
762
763
764
765
  asmlinkage long sys_mknodat(int dfd, const char __user * filename, int mode,
  			    unsigned dev);
  asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode);
  asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag);
  asmlinkage long sys_symlinkat(const char __user * oldname,
  			      int newdfd, const char __user * newname);
  asmlinkage long sys_linkat(int olddfd, const char __user *oldname,
c04030e16   Ulrich Drepper   [PATCH] flags par...
766
  			   int newdfd, const char __user *newname, int flags);
3a2ca6449   Ulrich Drepper   [PATCH] prototype...
767
768
  asmlinkage long sys_renameat(int olddfd, const char __user * oldname,
  			     int newdfd, const char __user * newname);
c78873252   David Howells   Mark arguments to...
769
  asmlinkage long sys_futimesat(int dfd, const char __user *filename,
3a2ca6449   Ulrich Drepper   [PATCH] prototype...
770
771
772
773
774
775
776
777
  			      struct timeval __user *utimes);
  asmlinkage long sys_faccessat(int dfd, const char __user *filename, int mode);
  asmlinkage long sys_fchmodat(int dfd, const char __user * filename,
  			     mode_t mode);
  asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
  			     gid_t group, int flag);
  asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
  			   int mode);
c78873252   David Howells   Mark arguments to...
778
  asmlinkage long sys_newfstatat(int dfd, const char __user *filename,
3a2ca6449   Ulrich Drepper   [PATCH] prototype...
779
  			       struct stat __user *statbuf, int flag);
c78873252   David Howells   Mark arguments to...
780
  asmlinkage long sys_fstatat64(int dfd, const char __user *filename,
cff2b7600   Ulrich Drepper   [PATCH] fstatat64...
781
  			       struct stat64 __user *statbuf, int flag);
3a2ca6449   Ulrich Drepper   [PATCH] prototype...
782
783
  asmlinkage long sys_readlinkat(int dfd, const char __user *path, char __user *buf,
  			       int bufsiz);
c78873252   David Howells   Mark arguments to...
784
  asmlinkage long sys_utimensat(int dfd, const char __user *filename,
97416ce82   Stephen Rothwell   Declare {compat_}...
785
  				struct timespec __user *utimes, int flags);
6961ec826   Arnd Bergmann   [PATCH] add sys_u...
786
  asmlinkage long sys_unshare(unsigned long unshare_flags);
529565dcb   Ingo Molnar   [PATCH] splice: a...
787
788
789
790
  
  asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
  			   int fd_out, loff_t __user *off_out,
  			   size_t len, unsigned int flags);
912d35f86   Jens Axboe   [PATCH] Add suppo...
791
792
  asmlinkage long sys_vmsplice(int fd, const struct iovec __user *iov,
  			     unsigned long nr_segs, unsigned int flags);
70524490e   Jens Axboe   [PATCH] splice: a...
793
  asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags);
f79e2abb9   Andrew Morton   [PATCH] sys_sync_...
794
  asmlinkage long sys_sync_file_range(int fd, loff_t offset, loff_t nbytes,
5246d0503   Andrew Morton   [PATCH] sync_file...
795
  					unsigned int flags);
edd5cd4a9   David Woodhouse   Introduce fixed s...
796
797
  asmlinkage long sys_sync_file_range2(int fd, unsigned int flags,
  				     loff_t offset, loff_t nbytes);
0f0410823   David Woodhouse   [PATCH] powerpc: ...
798
  asmlinkage long sys_get_robust_list(int pid,
ba46df984   Al Viro   [PATCH] __user an...
799
  				    struct robust_list_head __user * __user *head_ptr,
0f0410823   David Woodhouse   [PATCH] powerpc: ...
800
801
802
  				    size_t __user *len_ptr);
  asmlinkage long sys_set_robust_list(struct robust_list_head __user *head,
  				    size_t len);
e04da1dfd   Al Viro   [PATCH] sys_getcp...
803
  asmlinkage long sys_getcpu(unsigned __user *cpu, unsigned __user *node, struct getcpu_cache __user *cache);
fba2afaae   Davide Libenzi   signal/timer/even...
804
  asmlinkage long sys_signalfd(int ufd, sigset_t __user *user_mask, size_t sizemask);
9deb27bae   Ulrich Drepper   flag parameters: ...
805
  asmlinkage long sys_signalfd4(int ufd, sigset_t __user *user_mask, size_t sizemask, int flags);
4d672e7ac   Davide Libenzi   timerfd: new time...
806
807
808
809
810
  asmlinkage long sys_timerfd_create(int clockid, int flags);
  asmlinkage long sys_timerfd_settime(int ufd, int flags,
  				    const struct itimerspec __user *utmr,
  				    struct itimerspec __user *otmr);
  asmlinkage long sys_timerfd_gettime(int ufd, struct itimerspec __user *otmr);
e1ad7468c   Davide Libenzi   signal/timer/even...
811
  asmlinkage long sys_eventfd(unsigned int count);
b087498eb   Ulrich Drepper   flag parameters: ...
812
  asmlinkage long sys_eventfd2(unsigned int count, int flags);
97ac73506   Amit Arora   sys_fallocate() i...
813
  asmlinkage long sys_fallocate(int fd, int mode, loff_t offset, loff_t len);
e55380edf   Heiko Carstens   [CVE-2009-0029] R...
814
  asmlinkage long sys_old_readdir(unsigned int, struct old_linux_dirent __user *, unsigned int);
d4e82042c   Heiko Carstens   [CVE-2009-0029] S...
815
816
817
818
819
820
  asmlinkage long sys_pselect6(int, fd_set __user *, fd_set __user *,
  			     fd_set __user *, struct timespec __user *,
  			     void __user *);
  asmlinkage long sys_ppoll(struct pollfd __user *, unsigned int,
  			  struct timespec __user *, const sigset_t __user *,
  			  size_t);
08ae89380   Eric Paris   fanotify: drop th...
821
  asmlinkage long sys_fanotify_init(unsigned int flags, unsigned int event_f_flags);
bbaa4168b   Eric Paris   fanotify: sys_fan...
822
823
824
  asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags,
  				  u64 mask, int fd,
  				  const char  __user *pathname);
b7ed78f56   Sage Weil   introduce sys_syn...
825
  asmlinkage long sys_syncfs(int fd);
3a2ca6449   Ulrich Drepper   [PATCH] prototype...
826

d7627467b   David Howells   Make do_execve() ...
827
  int kernel_execve(const char *filename, const char *const argv[], const char *const envp[]);
3db03b4af   Arnd Bergmann   [PATCH] rename th...
828

9f66a3810   Ingo Molnar   perf counters: re...
829

cdd6c482c   Ingo Molnar   perf: Do the big ...
830
831
  asmlinkage long sys_perf_event_open(
  		struct perf_event_attr __user *attr_uptr,
2743a5b0f   Paul Mackerras   perfcounters: pro...
832
  		pid_t pid, int cpu, int group_fd, unsigned long flags);
f8b725609   Al Viro   Unify sys_mmap*
833
834
835
836
  
  asmlinkage long sys_mmap_pgoff(unsigned long addr, unsigned long len,
  			unsigned long prot, unsigned long flags,
  			unsigned long fd, unsigned long pgoff);
a4679373c   Christoph Hellwig   Add generic sys_o...
837
  asmlinkage long sys_old_mmap(struct mmap_arg_struct __user *arg);
990d6c2d7   Aneesh Kumar K.V   vfs: Add name to ...
838
839
840
  asmlinkage long sys_name_to_handle_at(int dfd, const char __user *name,
  				      struct file_handle __user *handle,
  				      int __user *mnt_id, int flag);
becfd1f37   Aneesh Kumar K.V   vfs: Add open by ...
841
842
843
  asmlinkage long sys_open_by_handle_at(int mountdirfd,
  				      struct file_handle __user *handle,
  				      int flags);
618e724b8   Eric W. Biederman   ns: Declare sys_s...
844
  asmlinkage long sys_setns(int fd, int nstype);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
845
  #endif