summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/compat.c7
-rw-r--r--kernel/futex.c2
2 files changed, 5 insertions, 4 deletions
diff --git a/kernel/compat.c b/kernel/compat.c
index e0998f98b72b..0dcf84ac1a7d 100644
--- a/kernel/compat.c
+++ b/kernel/compat.c
@@ -214,7 +214,7 @@ asmlinkage long compat_sys_sigprocmask(int how, compat_old_sigset_t *set,
#ifdef CONFIG_FUTEX
asmlinkage long compat_sys_futex(u32 *uaddr, int op, int val,
- struct compat_timespec *utime)
+ struct compat_timespec *utime, u32 *uaddr2)
{
struct timespec t;
unsigned long timeout = MAX_SCHEDULE_TIMEOUT;
@@ -226,9 +226,10 @@ asmlinkage long compat_sys_futex(u32 *uaddr, int op, int val,
timeout = timespec_to_jiffies(&t) + 1;
}
if (op == FUTEX_REQUEUE)
- val2 = (int) utime;
+ val2 = (int) (long) utime;
- return do_futex((unsigned long)uaddr, op, val, timeout, uaddr2, val2);
+ return do_futex((unsigned long)uaddr, op, val, timeout,
+ (unsigned long)uaddr2, val2);
}
#endif
diff --git a/kernel/futex.c b/kernel/futex.c
index 5cd746c3c86c..36500829d9be 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -537,7 +537,7 @@ asmlinkage long sys_futex(u32 __user *uaddr, int op, int val,
* requeue parameter in 'utime' if op == FUTEX_REQUEUE.
*/
if (op == FUTEX_REQUEUE)
- val2 = (int) utime;
+ val2 = (int) (long) utime;
return do_futex((unsigned long)uaddr, op, val, timeout,
(unsigned long)uaddr2, val2);