logfs: check for the return value after calling find_or_create_page()
authorYounger Liu <[email protected]>
Thu, 23 Jan 2014 23:53:47 +0000 (15:53 -0800)
committerLinus Torvalds <[email protected]>
Fri, 24 Jan 2014 00:36:54 +0000 (16:36 -0800)
In get_mapping_page(), after calling find_or_create_page(), the return
value should be checked.

 This patch has been provided:
http://www.spinics.net/lists/linux-fsdevel/msg66948.html but not been
applied now.

Signed-off-by: Younger Liu <[email protected]>
Cc: Younger Liu <[email protected]>
Cc: Vyacheslav Dubeyko <[email protected]>
Reviewed-by: Prasad Joshi <[email protected]>
Cc: Jörn Engel <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
fs/logfs/segment.c

index d448a777166b71bc21df131c0c32a462d97b5efe..7f9b096d8d572e0753ee84d060c4018fa6978a40 100644 (file)
@@ -62,7 +62,8 @@ static struct page *get_mapping_page(struct super_block *sb, pgoff_t index,
                page = read_cache_page(mapping, index, filler, sb);
        else {
                page = find_or_create_page(mapping, index, GFP_NOFS);
-               unlock_page(page);
+               if (page)
+                       unlock_page(page);
        }
        return page;
 }