Commit a5f8fa9e authored by Heiko Carstens's avatar Heiko Carstens
Browse files

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

parent 17da2bd9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ static void do_sync(unsigned long wait)
		laptop_sync_completion();
}

asmlinkage long sys_sync(void)
SYSCALL_DEFINE0(sync)
{
	do_sync(1);
	return 0;
@@ -144,12 +144,12 @@ static int do_fsync(unsigned int fd, int datasync)
	return ret;
}

asmlinkage long sys_fsync(unsigned int fd)
SYSCALL_DEFINE1(fsync, unsigned int, fd)
{
	return do_fsync(fd, 0);
}

asmlinkage long sys_fdatasync(unsigned int fd)
SYSCALL_DEFINE1(fdatasync, unsigned int, fd)
{
	return do_fsync(fd, 1);
}
+8 −13
Original line number Diff line number Diff line
@@ -2279,7 +2279,7 @@ static int do_tkill(pid_t tgid, pid_t pid, int sig)
 *  exists but it's not belonging to the target process anymore. This
 *  method solves the problem of threads exiting and PIDs getting reused.
 */
asmlinkage long sys_tgkill(pid_t tgid, pid_t pid, int sig)
SYSCALL_DEFINE3(tgkill, pid_t, tgid, pid_t, pid, int, sig)
{
	/* This is only valid for single tasks */
	if (pid <= 0 || tgid <= 0)
@@ -2291,8 +2291,7 @@ asmlinkage long sys_tgkill(pid_t tgid, pid_t pid, int sig)
/*
 *  Send a signal to only one task, even if it's a CLONE_THREAD task.
 */
asmlinkage long
sys_tkill(pid_t pid, int sig)
SYSCALL_DEFINE2(tkill, pid_t, pid, int, sig)
{
	/* This is only valid for single tasks */
	if (pid <= 0)
@@ -2301,8 +2300,8 @@ sys_tkill(pid_t pid, int sig)
	return do_tkill(0, pid, sig);
}

asmlinkage long
sys_rt_sigqueueinfo(pid_t pid, int sig, siginfo_t __user *uinfo)
SYSCALL_DEFINE3(rt_sigqueueinfo, pid_t, pid, int, sig,
		siginfo_t __user *, uinfo)
{
	siginfo_t info;

@@ -2526,15 +2525,13 @@ out:
/*
 * For backwards compatibility.  Functionality superseded by sigprocmask.
 */
asmlinkage long
sys_sgetmask(void)
SYSCALL_DEFINE0(sgetmask)
{
	/* SMP safe */
	return current->blocked.sig[0];
}

asmlinkage long
sys_ssetmask(int newmask)
SYSCALL_DEFINE1(ssetmask, int, newmask)
{
	int old;

@@ -2554,8 +2551,7 @@ sys_ssetmask(int newmask)
/*
 * For backwards compatibility.  Functionality superseded by sigaction.
 */
asmlinkage long
sys_signal(int sig, __sighandler_t handler)
SYSCALL_DEFINE2(signal, int, sig, __sighandler_t, handler)
{
	struct k_sigaction new_sa, old_sa;
	int ret;
@@ -2572,8 +2568,7 @@ sys_signal(int sig, __sighandler_t handler)

#ifdef __ARCH_WANT_SYS_PAUSE

asmlinkage long
sys_pause(void)
SYSCALL_DEFINE0(pause)
{
	current->state = TASK_INTERRUPTIBLE;
	schedule();