mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
[CVE-2009-0029] System call wrappers part 04
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
ae1251ab78
commit
b290ebe2c4
@ -277,7 +277,7 @@ static int acct_on(char *name)
|
||||
* should be written. If the filename is NULL, accounting will be
|
||||
* shutdown.
|
||||
*/
|
||||
asmlinkage long sys_acct(const char __user *name)
|
||||
SYSCALL_DEFINE1(acct, const char __user *, name)
|
||||
{
|
||||
int error;
|
||||
|
||||
|
@ -161,7 +161,7 @@ static inline int cap_get_target_pid(pid_t pid, kernel_cap_t *pEp,
|
||||
*
|
||||
* Returns 0 on success and < 0 on error.
|
||||
*/
|
||||
asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr)
|
||||
SYSCALL_DEFINE2(capget, cap_user_header_t, header, cap_user_data_t, dataptr)
|
||||
{
|
||||
int ret = 0;
|
||||
pid_t pid;
|
||||
@ -235,7 +235,7 @@ asmlinkage long sys_capget(cap_user_header_t header, cap_user_data_t dataptr)
|
||||
*
|
||||
* Returns 0 on success and < 0 on error.
|
||||
*/
|
||||
asmlinkage long sys_capset(cap_user_header_t header, const cap_user_data_t data)
|
||||
SYSCALL_DEFINE2(capset, cap_user_header_t, header, const cap_user_data_t, data)
|
||||
{
|
||||
struct __user_cap_data_struct kdata[_KERNEL_CAPABILITY_U32S];
|
||||
unsigned i, tocopy;
|
||||
|
@ -209,8 +209,7 @@ static int __init proc_execdomains_init(void)
|
||||
module_init(proc_execdomains_init);
|
||||
#endif
|
||||
|
||||
asmlinkage long
|
||||
sys_personality(u_long personality)
|
||||
SYSCALL_DEFINE1(personality, u_long, personality)
|
||||
{
|
||||
u_long old = current->personality;
|
||||
|
||||
|
@ -100,7 +100,7 @@ int do_getitimer(int which, struct itimerval *value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
asmlinkage long sys_getitimer(int which, struct itimerval __user *value)
|
||||
SYSCALL_DEFINE2(getitimer, int, which, struct itimerval __user *, value)
|
||||
{
|
||||
int error = -EFAULT;
|
||||
struct itimerval get_buffer;
|
||||
|
@ -2434,8 +2434,7 @@ out:
|
||||
|
||||
#ifdef __ARCH_WANT_SYS_SIGPENDING
|
||||
|
||||
asmlinkage long
|
||||
sys_sigpending(old_sigset_t __user *set)
|
||||
SYSCALL_DEFINE1(sigpending, old_sigset_t __user *, set)
|
||||
{
|
||||
return do_sigpending(set, sizeof(*set));
|
||||
}
|
||||
@ -2446,8 +2445,8 @@ sys_sigpending(old_sigset_t __user *set)
|
||||
/* Some platforms have their own version with special arguments others
|
||||
support only sys_rt_sigprocmask. */
|
||||
|
||||
asmlinkage long
|
||||
sys_sigprocmask(int how, old_sigset_t __user *set, old_sigset_t __user *oset)
|
||||
SYSCALL_DEFINE3(sigprocmask, int, how, old_sigset_t __user *, set,
|
||||
old_sigset_t __user *, oset)
|
||||
{
|
||||
int error;
|
||||
old_sigset_t old_set, new_set;
|
||||
|
@ -944,7 +944,7 @@ SYSCALL_DEFINE1(times, struct tms __user *, tbuf)
|
||||
* Auch. Had to add the 'did_exec' flag to conform completely to POSIX.
|
||||
* LBT 04.03.94
|
||||
*/
|
||||
asmlinkage long sys_setpgid(pid_t pid, pid_t pgid)
|
||||
SYSCALL_DEFINE2(setpgid, pid_t, pid, pid_t, pgid)
|
||||
{
|
||||
struct task_struct *p;
|
||||
struct task_struct *group_leader = current->group_leader;
|
||||
@ -1080,7 +1080,7 @@ out:
|
||||
return retval;
|
||||
}
|
||||
|
||||
asmlinkage long sys_setsid(void)
|
||||
SYSCALL_DEFINE0(setsid)
|
||||
{
|
||||
struct task_struct *group_leader = current->group_leader;
|
||||
struct pid *sid = task_pid(group_leader);
|
||||
@ -1340,7 +1340,7 @@ out:
|
||||
* without another task interfering.
|
||||
*/
|
||||
|
||||
asmlinkage long sys_setgroups(int gidsetsize, gid_t __user *grouplist)
|
||||
SYSCALL_DEFINE2(setgroups, int, gidsetsize, gid_t __user *, grouplist)
|
||||
{
|
||||
struct group_info *group_info;
|
||||
int retval;
|
||||
|
Loading…
Reference in New Issue
Block a user