mirror of
				https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
				synced 2025-11-05 01:03:37 +10:00 
			
		
		
		
	[CVE-2009-0029] System call wrappers part 28
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
		
							parent
							
								
									1e7bfb2134
								
							
						
					
					
						commit
						938bb9f5e8
					
				@ -72,7 +72,7 @@ int set_task_ioprio(struct task_struct *task, int ioprio)
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(set_task_ioprio);
 | 
			
		||||
 | 
			
		||||
asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
 | 
			
		||||
SYSCALL_DEFINE3(ioprio_set, int, which, int, who, int, ioprio)
 | 
			
		||||
{
 | 
			
		||||
	int class = IOPRIO_PRIO_CLASS(ioprio);
 | 
			
		||||
	int data = IOPRIO_PRIO_DATA(ioprio);
 | 
			
		||||
@ -188,7 +188,7 @@ int ioprio_best(unsigned short aprio, unsigned short bprio)
 | 
			
		||||
		return aprio;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
asmlinkage long sys_ioprio_get(int which, int who)
 | 
			
		||||
SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
 | 
			
		||||
{
 | 
			
		||||
	struct task_struct *g, *p;
 | 
			
		||||
	struct user_struct *user;
 | 
			
		||||
@ -252,4 +252,3 @@ asmlinkage long sys_ioprio_get(int which, int who)
 | 
			
		||||
	read_unlock(&tasklist_lock);
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -576,7 +576,7 @@ static const struct inotify_operations inotify_user_ops = {
 | 
			
		||||
	.destroy_watch	= free_inotify_user_watch,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
asmlinkage long sys_inotify_init1(int flags)
 | 
			
		||||
SYSCALL_DEFINE1(inotify_init1, int, flags)
 | 
			
		||||
{
 | 
			
		||||
	struct inotify_device *dev;
 | 
			
		||||
	struct inotify_handle *ih;
 | 
			
		||||
@ -655,7 +655,7 @@ out_put_fd:
 | 
			
		||||
	return ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
asmlinkage long sys_inotify_init(void)
 | 
			
		||||
SYSCALL_DEFINE0(inotify_init)
 | 
			
		||||
{
 | 
			
		||||
	return sys_inotify_init1(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1068,10 +1068,9 @@ static int copy_nodes_to_user(unsigned long __user *mask, unsigned long maxnode,
 | 
			
		||||
	return copy_to_user(mask, nodes_addr(*nodes), copy) ? -EFAULT : 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
asmlinkage long sys_mbind(unsigned long start, unsigned long len,
 | 
			
		||||
			unsigned long mode,
 | 
			
		||||
			unsigned long __user *nmask, unsigned long maxnode,
 | 
			
		||||
			unsigned flags)
 | 
			
		||||
SYSCALL_DEFINE6(mbind, unsigned long, start, unsigned long, len,
 | 
			
		||||
		unsigned long, mode, unsigned long __user *, nmask,
 | 
			
		||||
		unsigned long, maxnode, unsigned, flags)
 | 
			
		||||
{
 | 
			
		||||
	nodemask_t nodes;
 | 
			
		||||
	int err;
 | 
			
		||||
@ -1091,8 +1090,8 @@ asmlinkage long sys_mbind(unsigned long start, unsigned long len,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Set the process memory policy */
 | 
			
		||||
asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask,
 | 
			
		||||
		unsigned long maxnode)
 | 
			
		||||
SYSCALL_DEFINE3(set_mempolicy, int, mode, unsigned long __user *, nmask,
 | 
			
		||||
		unsigned long, maxnode)
 | 
			
		||||
{
 | 
			
		||||
	int err;
 | 
			
		||||
	nodemask_t nodes;
 | 
			
		||||
@ -1110,9 +1109,9 @@ asmlinkage long sys_set_mempolicy(int mode, unsigned long __user *nmask,
 | 
			
		||||
	return do_set_mempolicy(mode, flags, &nodes);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode,
 | 
			
		||||
		const unsigned long __user *old_nodes,
 | 
			
		||||
		const unsigned long __user *new_nodes)
 | 
			
		||||
SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,
 | 
			
		||||
		const unsigned long __user *, old_nodes,
 | 
			
		||||
		const unsigned long __user *, new_nodes)
 | 
			
		||||
{
 | 
			
		||||
	const struct cred *cred = current_cred(), *tcred;
 | 
			
		||||
	struct mm_struct *mm;
 | 
			
		||||
@ -1185,10 +1184,9 @@ out:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* Retrieve NUMA policy */
 | 
			
		||||
asmlinkage long sys_get_mempolicy(int __user *policy,
 | 
			
		||||
				unsigned long __user *nmask,
 | 
			
		||||
				unsigned long maxnode,
 | 
			
		||||
				unsigned long addr, unsigned long flags)
 | 
			
		||||
SYSCALL_DEFINE5(get_mempolicy, int __user *, policy,
 | 
			
		||||
		unsigned long __user *, nmask, unsigned long, maxnode,
 | 
			
		||||
		unsigned long, addr, unsigned long, flags)
 | 
			
		||||
{
 | 
			
		||||
	int err;
 | 
			
		||||
	int uninitialized_var(pval);
 | 
			
		||||
 | 
			
		||||
@ -1055,10 +1055,10 @@ out:
 | 
			
		||||
 * Move a list of pages in the address space of the currently executing
 | 
			
		||||
 * process.
 | 
			
		||||
 */
 | 
			
		||||
asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages,
 | 
			
		||||
			const void __user * __user *pages,
 | 
			
		||||
			const int __user *nodes,
 | 
			
		||||
			int __user *status, int flags)
 | 
			
		||||
SYSCALL_DEFINE6(move_pages, pid_t, pid, unsigned long, nr_pages,
 | 
			
		||||
		const void __user * __user *, pages,
 | 
			
		||||
		const int __user *, nodes,
 | 
			
		||||
		int __user *, status, int, flags)
 | 
			
		||||
{
 | 
			
		||||
	const struct cred *cred = current_cred(), *tcred;
 | 
			
		||||
	struct task_struct *task;
 | 
			
		||||
 | 
			
		||||
@ -1216,8 +1216,8 @@ long keyctl_get_security(key_serial_t keyid,
 | 
			
		||||
/*
 | 
			
		||||
 * the key control system call
 | 
			
		||||
 */
 | 
			
		||||
asmlinkage long sys_keyctl(int option, unsigned long arg2, unsigned long arg3,
 | 
			
		||||
			   unsigned long arg4, unsigned long arg5)
 | 
			
		||||
SYSCALL_DEFINE5(keyctl, int, option, unsigned long, arg2, unsigned long, arg3,
 | 
			
		||||
		unsigned long, arg4, unsigned long, arg5)
 | 
			
		||||
{
 | 
			
		||||
	switch (option) {
 | 
			
		||||
	case KEYCTL_GET_KEYRING_ID:
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user