diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-10-30 07:58:18 +0100 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-30 07:58:18 +0100 |
commit | f0612bbc41f65f5a684f69d714a1a17a6f0f40c5 (patch) | |
tree | 8c070070bb355843cfa4635643e9da7c2c4cd44a /kernel/futex.c | |
parent | Merge branch 'master' (diff) | |
parent | Merge branch 'master' (diff) | |
download | linux-f0612bbc41f65f5a684f69d714a1a17a6f0f40c5.tar.xz linux-f0612bbc41f65f5a684f69d714a1a17a6f0f40c5.zip |
Merge branch 'upstream'
Diffstat (limited to 'kernel/futex.c')
-rw-r--r-- | kernel/futex.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/futex.c b/kernel/futex.c index ca05fe6a70b2..3b4d5ad44cc6 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -205,15 +205,13 @@ static int get_futex_key(unsigned long uaddr, union futex_key *key) /* * Do a quick atomic lookup first - this is the fastpath. */ - spin_lock(¤t->mm->page_table_lock); - page = follow_page(mm, uaddr, 0); + page = follow_page(mm, uaddr, FOLL_TOUCH|FOLL_GET); if (likely(page != NULL)) { key->shared.pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); - spin_unlock(¤t->mm->page_table_lock); + put_page(page); return 0; } - spin_unlock(¤t->mm->page_table_lock); /* * Do it the general way. |