aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/futex.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-05-11 00:00:29 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-05-11 00:00:29 -0400
commite4d35be584be88a3db3fa5635a97c62a2ec5aafe (patch)
treefc22a7fb65697306edd71411959ccee6df60c64d /include/asm-generic/futex.h
parentget_rock_ridge_filename(): handle malformed NM entries (diff)
parentovl: ignore permissions on underlying lookup (diff)
downloadlinux-dev-e4d35be584be88a3db3fa5635a97c62a2ec5aafe.tar.xz
linux-dev-e4d35be584be88a3db3fa5635a97c62a2ec5aafe.zip
Merge branch 'ovl-fixes' into for-linus
Diffstat (limited to 'include/asm-generic/futex.h')
-rw-r--r--include/asm-generic/futex.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/asm-generic/futex.h b/include/asm-generic/futex.h
index e56272c919b5..bf2d34c9d804 100644
--- a/include/asm-generic/futex.h
+++ b/include/asm-generic/futex.h
@@ -108,11 +108,15 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
u32 val;
preempt_disable();
- if (unlikely(get_user(val, uaddr) != 0))
+ if (unlikely(get_user(val, uaddr) != 0)) {
+ preempt_enable();
return -EFAULT;
+ }
- if (val == oldval && unlikely(put_user(newval, uaddr) != 0))
+ if (val == oldval && unlikely(put_user(newval, uaddr) != 0)) {
+ preempt_enable();
return -EFAULT;
+ }
*uval = val;
preempt_enable();