From f6f6a8f1f7464d45202b5d24c186118eea887b94 Mon Sep 17 00:00:00 2001 From: Michel Lespinasse Date: Tue, 2 Nov 2010 13:05:18 -0700 Subject: [PATCH] --- yaml --- r: 221544 b: refs/heads/master c: d88c0922fa0e2c021a028b310a641126c6d4b7dc h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/filemap.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 3583341fbf4c..7a4bab91d6a1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: eb8abb927ae2fd1730e24ea94cd9527f3c086292 +refs/heads/master: d88c0922fa0e2c021a028b310a641126c6d4b7dc diff --git a/trunk/mm/filemap.c b/trunk/mm/filemap.c index 75572b5f2374..61ba5e405791 100644 --- a/trunk/mm/filemap.c +++ b/trunk/mm/filemap.c @@ -1563,8 +1563,10 @@ int filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf) goto no_cached_page; } - if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) + if (!lock_page_or_retry(page, vma->vm_mm, vmf->flags)) { + page_cache_release(page); return ret | VM_FAULT_RETRY; + } /* Did it get truncated? */ if (unlikely(page->mapping != mapping)) {