summaryrefslogtreecommitdiffstats
path: root/kernel/futex.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-08-10 12:20:53 +0200
committerIngo Molnar <mingo@kernel.org>2017-08-10 12:20:53 +0200
commit388f8e127337aa55037195fc4c4528fc5f69ff2d (patch)
tree4c8af2f385143ecda7c4b6ec01b33536f5b2a068 /kernel/futex.c
parentbc2eecd7ecce40af43b6eb3d256b6076257df846 (diff)
parent8d31f80eb38819e4f2905ad21c0e8998382a08f7 (diff)
downloadlinux-stable-388f8e127337aa55037195fc4c4528fc5f69ff2d.tar.gz
linux-stable-388f8e127337aa55037195fc4c4528fc5f69ff2d.tar.bz2
linux-stable-388f8e127337aa55037195fc4c4528fc5f69ff2d.zip
Merge branch 'linus' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel/futex.c')
-rw-r--r--kernel/futex.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/futex.c b/kernel/futex.c
index ad0af4df1b9d..0939255fc750 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -670,13 +670,14 @@ again:
* this reference was taken by ihold under the page lock
* pinning the inode in place so i_lock was unnecessary. The
* only way for this check to fail is if the inode was
- * truncated in parallel so warn for now if this happens.
+ * truncated in parallel which is almost certainly an
+ * application bug. In such a case, just retry.
*
* We are not calling into get_futex_key_refs() in file-backed
* cases, therefore a successful atomic_inc return below will
* guarantee that get_futex_key() will still imply smp_mb(); (B).
*/
- if (WARN_ON_ONCE(!atomic_inc_not_zero(&inode->i_count))) {
+ if (!atomic_inc_not_zero(&inode->i_count)) {
rcu_read_unlock();
put_page(page);