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

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

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

parent 58fd3aa2
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -756,7 +756,7 @@ asmlinkage long sys_setresuid(uid_t ruid, uid_t euid, uid_t suid)
	return retval;
}

asmlinkage long sys_getresuid(uid_t __user *ruid, uid_t __user *euid, uid_t __user *suid)
SYSCALL_DEFINE3(getresuid, uid_t __user *, ruid, uid_t __user *, euid, uid_t __user *, suid)
{
	const struct cred *cred = current_cred();
	int retval;
@@ -814,7 +814,7 @@ asmlinkage long sys_setresgid(gid_t rgid, gid_t egid, gid_t sgid)
	return retval;
}

asmlinkage long sys_getresgid(gid_t __user *rgid, gid_t __user *egid, gid_t __user *sgid)
SYSCALL_DEFINE3(getresgid, gid_t __user *, rgid, gid_t __user *, egid, gid_t __user *, sgid)
{
	const struct cred *cred = current_cred();
	int retval;
@@ -1015,7 +1015,7 @@ asmlinkage long sys_setpgid(pid_t pid, pid_t pgid)
	return err;
}

asmlinkage long sys_getpgid(pid_t pid)
SYSCALL_DEFINE1(getpgid, pid_t, pid)
{
	struct task_struct *p;
	struct pid *grp;
@@ -1045,14 +1045,14 @@ asmlinkage long sys_getpgid(pid_t pid)

#ifdef __ARCH_WANT_SYS_GETPGRP

asmlinkage long sys_getpgrp(void)
SYSCALL_DEFINE0(getpgrp)
{
	return sys_getpgid(0);
}

#endif

asmlinkage long sys_getsid(pid_t pid)
SYSCALL_DEFINE1(getsid, pid_t, pid)
{
	struct task_struct *p;
	struct pid *sid;
+5 −5
Original line number Diff line number Diff line
@@ -1163,7 +1163,7 @@ SYSCALL_DEFINE0(getpid)
 * value of ->real_parent under rcu_read_lock(), see
 * release_task()->call_rcu(delayed_put_task_struct).
 */
asmlinkage long sys_getppid(void)
SYSCALL_DEFINE0(getppid)
{
	int pid;

@@ -1174,25 +1174,25 @@ asmlinkage long sys_getppid(void)
	return pid;
}

asmlinkage long sys_getuid(void)
SYSCALL_DEFINE0(getuid)
{
	/* Only we change this so SMP safe */
	return current_uid();
}

asmlinkage long sys_geteuid(void)
SYSCALL_DEFINE0(geteuid)
{
	/* Only we change this so SMP safe */
	return current_euid();
}

asmlinkage long sys_getgid(void)
SYSCALL_DEFINE0(getgid)
{
	/* Only we change this so SMP safe */
	return current_gid();
}

asmlinkage long sys_getegid(void)
SYSCALL_DEFINE0(getegid)
{
	/* Only we change this so SMP safe */
	return  current_egid();