提交 58fd3aa2 编写于 作者: H Heiko Carstens

[CVE-2009-0029] System call wrappers part 01

Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
上级 6673e0c3
...@@ -1467,8 +1467,8 @@ long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, ...@@ -1467,8 +1467,8 @@ long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp,
return ret; return ret;
} }
asmlinkage long SYSCALL_DEFINE2(nanosleep, struct timespec __user *, rqtp,
sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp) struct timespec __user *, rmtp)
{ {
struct timespec tu; struct timespec tu;
......
...@@ -919,7 +919,7 @@ void do_sys_times(struct tms *tms) ...@@ -919,7 +919,7 @@ void do_sys_times(struct tms *tms)
tms->tms_cstime = cputime_to_clock_t(cstime); tms->tms_cstime = cputime_to_clock_t(cstime);
} }
asmlinkage long sys_times(struct tms __user * tbuf) SYSCALL_DEFINE1(times, struct tms __user *, tbuf)
{ {
if (tbuf) { if (tbuf) {
struct tms tmp; struct tms tmp;
......
...@@ -60,7 +60,7 @@ EXPORT_SYMBOL(sys_tz); ...@@ -60,7 +60,7 @@ EXPORT_SYMBOL(sys_tz);
* why not move it into the appropriate arch directory (for those * why not move it into the appropriate arch directory (for those
* architectures that need it). * architectures that need it).
*/ */
asmlinkage long sys_time(time_t __user * tloc) SYSCALL_DEFINE1(time, time_t __user *, tloc)
{ {
time_t i = get_seconds(); time_t i = get_seconds();
...@@ -79,7 +79,7 @@ asmlinkage long sys_time(time_t __user * tloc) ...@@ -79,7 +79,7 @@ asmlinkage long sys_time(time_t __user * tloc)
* architectures that need it). * architectures that need it).
*/ */
asmlinkage long sys_stime(time_t __user *tptr) SYSCALL_DEFINE1(stime, time_t __user *, tptr)
{ {
struct timespec tv; struct timespec tv;
int err; int err;
...@@ -99,8 +99,8 @@ asmlinkage long sys_stime(time_t __user *tptr) ...@@ -99,8 +99,8 @@ asmlinkage long sys_stime(time_t __user *tptr)
#endif /* __ARCH_WANT_SYS_TIME */ #endif /* __ARCH_WANT_SYS_TIME */
asmlinkage long sys_gettimeofday(struct timeval __user *tv, SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv,
struct timezone __user *tz) struct timezone __user *, tz)
{ {
if (likely(tv != NULL)) { if (likely(tv != NULL)) {
struct timeval ktv; struct timeval ktv;
...@@ -184,8 +184,8 @@ int do_sys_settimeofday(struct timespec *tv, struct timezone *tz) ...@@ -184,8 +184,8 @@ int do_sys_settimeofday(struct timespec *tv, struct timezone *tz)
return 0; return 0;
} }
asmlinkage long sys_settimeofday(struct timeval __user *tv, SYSCALL_DEFINE2(settimeofday, struct timeval __user *, tv,
struct timezone __user *tz) struct timezone __user *, tz)
{ {
struct timeval user_tv; struct timeval user_tv;
struct timespec new_ts; struct timespec new_ts;
...@@ -205,7 +205,7 @@ asmlinkage long sys_settimeofday(struct timeval __user *tv, ...@@ -205,7 +205,7 @@ asmlinkage long sys_settimeofday(struct timeval __user *tv,
return do_sys_settimeofday(tv ? &new_ts : NULL, tz ? &new_tz : NULL); return do_sys_settimeofday(tv ? &new_ts : NULL, tz ? &new_tz : NULL);
} }
asmlinkage long sys_adjtimex(struct timex __user *txc_p) SYSCALL_DEFINE1(adjtimex, struct timex __user *, txc_p)
{ {
struct timex txc; /* Local copy of parameter */ struct timex txc; /* Local copy of parameter */
int ret; int ret;
......
...@@ -1129,7 +1129,7 @@ void do_timer(unsigned long ticks) ...@@ -1129,7 +1129,7 @@ void do_timer(unsigned long ticks)
* For backwards compatibility? This can be done in libc so Alpha * For backwards compatibility? This can be done in libc so Alpha
* and all newer ports shouldn't need it. * and all newer ports shouldn't need it.
*/ */
asmlinkage long sys_alarm(unsigned int seconds) SYSCALL_DEFINE1(alarm, unsigned int, seconds)
{ {
return alarm_setitimer(seconds); return alarm_setitimer(seconds);
} }
...@@ -1152,7 +1152,7 @@ asmlinkage long sys_alarm(unsigned int seconds) ...@@ -1152,7 +1152,7 @@ asmlinkage long sys_alarm(unsigned int seconds)
* *
* This is SMP safe as current->tgid does not change. * This is SMP safe as current->tgid does not change.
*/ */
asmlinkage long sys_getpid(void) SYSCALL_DEFINE0(getpid)
{ {
return task_tgid_vnr(current); return task_tgid_vnr(current);
} }
...@@ -1308,7 +1308,7 @@ signed long __sched schedule_timeout_uninterruptible(signed long timeout) ...@@ -1308,7 +1308,7 @@ signed long __sched schedule_timeout_uninterruptible(signed long timeout)
EXPORT_SYMBOL(schedule_timeout_uninterruptible); EXPORT_SYMBOL(schedule_timeout_uninterruptible);
/* Thread ID - the internal kernel "pid" */ /* Thread ID - the internal kernel "pid" */
asmlinkage long sys_gettid(void) SYSCALL_DEFINE0(gettid)
{ {
return task_pid_vnr(current); return task_pid_vnr(current);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册