Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 58fd3aa2 authored by Heiko Carstens's avatar Heiko Carstens
Browse files

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

parent 6673e0c3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1467,8 +1467,8 @@ long hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp,
	return ret;
}

asmlinkage long
sys_nanosleep(struct timespec __user *rqtp, struct timespec __user *rmtp)
SYSCALL_DEFINE2(nanosleep, struct timespec __user *, rqtp,
		struct timespec __user *, rmtp)
{
	struct timespec tu;

+1 −1
Original line number Diff line number Diff line
@@ -919,7 +919,7 @@ void do_sys_times(struct tms *tms)
	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) {
		struct tms tmp;
+7 −7
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ EXPORT_SYMBOL(sys_tz);
 * why not move it into the appropriate arch directory (for those
 * architectures that need it).
 */
asmlinkage long sys_time(time_t __user * tloc)
SYSCALL_DEFINE1(time, time_t __user *, tloc)
{
	time_t i = get_seconds();

@@ -79,7 +79,7 @@ asmlinkage long sys_time(time_t __user * tloc)
 * architectures that need it).
 */

asmlinkage long sys_stime(time_t __user *tptr)
SYSCALL_DEFINE1(stime, time_t __user *, tptr)
{
	struct timespec tv;
	int err;
@@ -99,8 +99,8 @@ asmlinkage long sys_stime(time_t __user *tptr)

#endif /* __ARCH_WANT_SYS_TIME */

asmlinkage long sys_gettimeofday(struct timeval __user *tv,
				 struct timezone __user *tz)
SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv,
		struct timezone __user *, tz)
{
	if (likely(tv != NULL)) {
		struct timeval ktv;
@@ -184,8 +184,8 @@ int do_sys_settimeofday(struct timespec *tv, struct timezone *tz)
	return 0;
}

asmlinkage long sys_settimeofday(struct timeval __user *tv,
				struct timezone __user *tz)
SYSCALL_DEFINE2(settimeofday, struct timeval __user *, tv,
		struct timezone __user *, tz)
{
	struct timeval user_tv;
	struct timespec	new_ts;
@@ -205,7 +205,7 @@ asmlinkage long sys_settimeofday(struct timeval __user *tv,
	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 */
	int ret;
+3 −3
Original line number Diff line number Diff line
@@ -1129,7 +1129,7 @@ void do_timer(unsigned long ticks)
 * For backwards compatibility?  This can be done in libc so Alpha
 * 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);
}
@@ -1152,7 +1152,7 @@ asmlinkage long sys_alarm(unsigned int seconds)
 *
 * This is SMP safe as current->tgid does not change.
 */
asmlinkage long sys_getpid(void)
SYSCALL_DEFINE0(getpid)
{
	return task_tgid_vnr(current);
}
@@ -1308,7 +1308,7 @@ signed long __sched schedule_timeout_uninterruptible(signed long timeout)
EXPORT_SYMBOL(schedule_timeout_uninterruptible);

/* Thread ID - the internal kernel "pid" */
asmlinkage long sys_gettid(void)
SYSCALL_DEFINE0(gettid)
{
	return task_pid_vnr(current);
}