[PATCH] lightweight robust futexes: compat
32-bit syscall compatibility support. (This patch also moves all futex related compat functionality into kernel/futex_compat.c.) Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Arjan van de Ven <arjan@infradead.org> Acked-by: Ulrich Drepper <drepper@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
		
				
					committed by
					
						 Linus Torvalds
						Linus Torvalds
					
				
			
			
				
	
			
			
			
						parent
						
							2eec9ad91f
						
					
				
				
					commit
					34f192c652
				
			| @@ -17,7 +17,6 @@ | ||||
| #include <linux/time.h> | ||||
| #include <linux/signal.h> | ||||
| #include <linux/sched.h>	/* for MAX_SCHEDULE_TIMEOUT */ | ||||
| #include <linux/futex.h>	/* for FUTEX_WAIT */ | ||||
| #include <linux/syscalls.h> | ||||
| #include <linux/unistd.h> | ||||
| #include <linux/security.h> | ||||
| @@ -239,28 +238,6 @@ asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t __user *set, | ||||
| 	return ret; | ||||
| } | ||||
|  | ||||
| #ifdef CONFIG_FUTEX | ||||
| asmlinkage long compat_sys_futex(u32 __user *uaddr, int op, int val, | ||||
| 		struct compat_timespec __user *utime, u32 __user *uaddr2, | ||||
| 		int val3) | ||||
| { | ||||
| 	struct timespec t; | ||||
| 	unsigned long timeout = MAX_SCHEDULE_TIMEOUT; | ||||
| 	int val2 = 0; | ||||
|  | ||||
| 	if ((op == FUTEX_WAIT) && utime) { | ||||
| 		if (get_compat_timespec(&t, utime)) | ||||
| 			return -EFAULT; | ||||
| 		timeout = timespec_to_jiffies(&t) + 1; | ||||
| 	} | ||||
| 	if (op >= FUTEX_REQUEUE) | ||||
| 		val2 = (int) (unsigned long) utime; | ||||
|  | ||||
| 	return do_futex((unsigned long)uaddr, op, val, timeout, | ||||
| 			(unsigned long)uaddr2, val2, val3); | ||||
| } | ||||
| #endif | ||||
|  | ||||
| asmlinkage long compat_sys_setrlimit(unsigned int resource, | ||||
| 		struct compat_rlimit __user *rlim) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user