X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=kernel%2Ffutex.c;h=5699c512057b087a14633b357a618d4528d4a032;hb=6f065f70c0c1bfb0b8212438cee21e68aa155887;hp=9c9b2b6b22dd692ec14784331d4d3197503b86fe;hpb=e02a4cabfcb9a999b74a2e2e6f13ffcb7ff2d606;p=powerpc.git diff --git a/kernel/futex.c b/kernel/futex.c index 9c9b2b6b22..5699c51205 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -1039,9 +1039,11 @@ asmlinkage long sys_futex(u32 __user *uaddr, int op, int val, unsigned long timeout = MAX_SCHEDULE_TIMEOUT; int val2 = 0; - if ((op == FUTEX_WAIT) && utime) { + if (utime && (op == FUTEX_WAIT)) { if (copy_from_user(&t, utime, sizeof(t)) != 0) return -EFAULT; + if (!timespec_valid(&t)) + return -EINVAL; timeout = timespec_to_jiffies(&t) + 1; } /*