diff options
Diffstat (limited to 'kernel/futex.c')
-rw-r--r-- | kernel/futex.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/futex.c b/kernel/futex.c index 3b4d5ad44cc6..aca8d10704f6 100644 --- a/kernel/futex.c +++ b/kernel/futex.c | |||
@@ -365,6 +365,11 @@ retry: | |||
365 | if (bh1 != bh2) | 365 | if (bh1 != bh2) |
366 | spin_unlock(&bh2->lock); | 366 | spin_unlock(&bh2->lock); |
367 | 367 | ||
368 | if (unlikely(op_ret != -EFAULT)) { | ||
369 | ret = op_ret; | ||
370 | goto out; | ||
371 | } | ||
372 | |||
368 | /* futex_atomic_op_inuser needs to both read and write | 373 | /* futex_atomic_op_inuser needs to both read and write |
369 | * *(int __user *)uaddr2, but we can't modify it | 374 | * *(int __user *)uaddr2, but we can't modify it |
370 | * non-atomically. Therefore, if get_user below is not | 375 | * non-atomically. Therefore, if get_user below is not |