diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/compat.c | 7 | ||||
| -rw-r--r-- | kernel/futex.c | 2 |
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); |
