diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/fork.c | 4 | ||||
| -rw-r--r-- | kernel/futex.c | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 9e12b35e3924..5ecc19a9aab4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -427,7 +427,7 @@ void mm_release(struct task_struct *tsk, struct mm_struct *mm) complete(vfork_done); } if (tsk->clear_child_tid && atomic_read(&mm->mm_users) > 1) { - int * tidptr = tsk->clear_child_tid; + u32 * tidptr = tsk->clear_child_tid; tsk->clear_child_tid = NULL; /* @@ -435,7 +435,7 @@ void mm_release(struct task_struct *tsk, struct mm_struct *mm) * not set up a proper pointer then tough luck. */ put_user(0, tidptr); - sys_futex((unsigned long)tidptr, FUTEX_WAKE, 1, NULL); + sys_futex(tidptr, FUTEX_WAKE, 1, NULL); } } diff --git a/kernel/futex.c b/kernel/futex.c index 9813932a6a0a..4cade10892db 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -420,7 +420,7 @@ out: return ret; } -long do_futex(unsigned long uaddr, int op, int val, unsinged long timeout) +long do_futex(unsigned long uaddr, int op, int val, unsigned long timeout) { unsigned long pos_in_page; int ret; @@ -453,11 +453,10 @@ asmlinkage long sys_futex(u32 *uaddr, int op, int val, struct timespec *utime) struct timespec t; unsigned long timeout = MAX_SCHEDULE_TIMEOUT; - if ((op == FUTEX_WAIT) && utime) { if (copy_from_user(&t, utime, sizeof(t)) != 0) return -EFAULT; - timeout = timespec_to_jiffies(t) + 1; + timeout = timespec_to_jiffies(&t) + 1; } return do_futex((unsigned long)uaddr, op, val, timeout); } |
