mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
[CVE-2009-0029] System call wrappers part 09
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
17da2bd90a
commit
a5f8fa9e9b
2 changed files with 11 additions and 16 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue