diff options
author | Ingo Molnar <mingo@kernel.org> | 2017-08-10 12:20:53 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-08-10 12:20:53 +0200 |
commit | 388f8e127337aa55037195fc4c4528fc5f69ff2d (patch) | |
tree | 4c8af2f385143ecda7c4b6ec01b33536f5b2a068 /kernel/futex.c | |
parent | bc2eecd7ecce40af43b6eb3d256b6076257df846 (diff) | |
parent | 8d31f80eb38819e4f2905ad21c0e8998382a08f7 (diff) |
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.c | 5 |
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); |