diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-02-24 16:12:24 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-02-24 16:12:24 -0800 |
| commit | 0bab064232c278cb484b6aaa790b9c626ab6524b (patch) | |
| tree | 3c997ffac693fa0e1f157273fad383b6a0a752b2 /kernel/compat.c | |
| parent | 091704ef34f2e6aed8436877aeb434125b002c18 (diff) | |
[PATCH] add syscalls.h
From: "Randy.Dunlap" <rddunlap@osdl.org>
Add syscalls.h, which contains prototypes for the kernel's system calls.
Replace open-coded declarations all over the place. This patch found a
couple of prior bugs. It appears to be more important with -mregparm=3 as we
discover more asmlinkage mismatches.
Some syscalls have arch-dependent arguments, so their prototypes are in the
arch-specific unistd.h. Maybe it should have been asm/syscalls.h, but there
were already arch-specific syscall prototypes in asm/unistd.h...
Tested on x86, ia64, x86_64, ppc64, s390 and sparc64. May cause
trivial-to-fix build breakage on other architectures.
Diffstat (limited to 'kernel/compat.c')
| -rw-r--r-- | kernel/compat.c | 39 |
1 files changed, 2 insertions, 37 deletions
diff --git a/kernel/compat.c b/kernel/compat.c index 9bde07856201..fb89b3233b04 100644 --- a/kernel/compat.c +++ b/kernel/compat.c @@ -18,6 +18,7 @@ #include <linux/signal.h> #include <linux/sched.h> /* for MAX_SCHEDULE_TIMEOUT */ #include <linux/futex.h> /* for FUTEX_WAIT */ +#include <linux/syscalls.h> #include <linux/unistd.h> #include <asm/uaccess.h> @@ -172,8 +173,6 @@ asmlinkage long compat_sys_times(struct compat_tms *tbuf) * types that can be passed to put_user()/get_user(). */ -extern asmlinkage long sys_sigpending(old_sigset_t *); - asmlinkage long compat_sys_sigpending(compat_old_sigset_t *set) { old_sigset_t s; @@ -188,8 +187,6 @@ asmlinkage long compat_sys_sigpending(compat_old_sigset_t *set) return ret; } -extern asmlinkage long sys_sigprocmask(int, old_sigset_t *, old_sigset_t *); - asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t *set, compat_old_sigset_t *oset) { @@ -230,8 +227,6 @@ asmlinkage long compat_sys_futex(u32 *uaddr, int op, int val, } #endif -asmlinkage long sys_setrlimit(unsigned int resource, struct rlimit *rlim); - asmlinkage long compat_sys_setrlimit(unsigned int resource, struct compat_rlimit *rlim) { struct rlimit r; @@ -257,7 +252,6 @@ asmlinkage long compat_sys_setrlimit(unsigned int resource, struct compat_rlimit } #ifdef COMPAT_RLIM_OLD_INFINITY -asmlinkage long sys_old_getrlimit(unsigned int resource, struct rlimit *rlim); asmlinkage long compat_sys_old_getrlimit(unsigned int resource, struct compat_rlimit *rlim) { @@ -282,9 +276,8 @@ asmlinkage long compat_sys_old_getrlimit(unsigned int resource, struct compat_rl } return ret; } -#endif -asmlinkage long sys_getrlimit (unsigned int resource, struct rlimit *rlim); +#endif asmlinkage long compat_sys_getrlimit (unsigned int resource, struct compat_rlimit *rlim) { @@ -334,8 +327,6 @@ static long put_compat_rusage (struct compat_rusage *ru, struct rusage *r) return 0; } -asmlinkage long sys_getrusage(int who, struct rusage *ru); - asmlinkage long compat_sys_getrusage(int who, struct compat_rusage *ru) { struct rusage r; @@ -381,9 +372,6 @@ compat_sys_wait4(compat_pid_t pid, compat_uint_t * stat_addr, int options, } } -extern asmlinkage long sys_sched_setaffinity(pid_t pid, unsigned int len, - unsigned long *user_mask_ptr); - asmlinkage long compat_sys_sched_setaffinity(compat_pid_t pid, unsigned int len, compat_ulong_t *user_mask_ptr) @@ -405,9 +393,6 @@ asmlinkage long compat_sys_sched_setaffinity(compat_pid_t pid, return ret; } -extern asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, - unsigned long *user_mask_ptr); - asmlinkage int compat_sys_sched_getaffinity(compat_pid_t pid, unsigned int len, compat_ulong_t *user_mask_ptr) { @@ -449,12 +434,6 @@ static int put_compat_itimerspec(struct compat_itimerspec *dst, return 0; } -extern asmlinkage long sys_timer_settime(timer_t timer_id, int flags, - struct itimerspec __user *new_setting, - struct itimerspec __user *old_setting); -extern asmlinkage long sys_timer_gettime(timer_t timer_id, - struct itimerspec __user *setting); - long compat_timer_settime(timer_t timer_id, int flags, struct compat_itimerspec *new, struct compat_itimerspec *old) @@ -487,9 +466,6 @@ long compat_timer_gettime(timer_t timer_id, struct compat_itimerspec *setting) return err; } -extern asmlinkage long -sys_clock_settime(clockid_t which_clock, struct timespec __user *tp); - long compat_clock_settime(clockid_t which_clock, struct compat_timespec *tp) { long err; @@ -504,9 +480,6 @@ long compat_clock_settime(clockid_t which_clock, struct compat_timespec *tp) return err; } -extern asmlinkage long -sys_clock_gettime(clockid_t which_clock, struct timespec __user *tp); - long compat_clock_gettime(clockid_t which_clock, struct compat_timespec *tp) { long err; @@ -521,9 +494,6 @@ long compat_clock_gettime(clockid_t which_clock, struct compat_timespec *tp) return err; } -extern asmlinkage long -sys_clock_getres(clockid_t which_clock, struct timespec __user *tp); - long compat_clock_getres(clockid_t which_clock, struct compat_timespec *tp) { long err; @@ -538,11 +508,6 @@ long compat_clock_getres(clockid_t which_clock, struct compat_timespec *tp) return err; } -extern asmlinkage long -sys_clock_nanosleep(clockid_t which_clock, int flags, - struct timespec __user *rqtp, - struct timespec __user *rmtp); - long compat_clock_nanosleep(clockid_t which_clock, int flags, struct compat_timespec __user *rqtp, struct compat_timespec __user *rmtp) |
