aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/futex.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/futex.c')
-rw-r--r--kernel/futex.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/futex.c b/kernel/futex.c
index e7a35f1039e7..a6cec3270c78 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -168,7 +168,9 @@ static void get_futex_key_refs(union futex_key *key)
168 168
169 switch (key->both.offset & (FUT_OFF_INODE|FUT_OFF_MMSHARED)) { 169 switch (key->both.offset & (FUT_OFF_INODE|FUT_OFF_MMSHARED)) {
170 case FUT_OFF_INODE: 170 case FUT_OFF_INODE:
171 atomic_inc(&key->shared.inode->i_count); 171 spin_lock(&key->shared.inode->i_lock);
172 key->shared.inode->i_count++;
173 spin_unlock(&key->shared.inode->i_lock);
172 break; 174 break;
173 case FUT_OFF_MMSHARED: 175 case FUT_OFF_MMSHARED:
174 atomic_inc(&key->private.mm->mm_count); 176 atomic_inc(&key->private.mm->mm_count);