# # http://bugzilla.kernel.org/show_bug.cgi?id=13613 # diff --git a/mm/filemap.c b/mm/filemap.c index 698ea80..626499a 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1645,7 +1645,8 @@ repeat: page = __page_cache_alloc(gfp | __GFP_COLD); if (!page) return ERR_PTR(-ENOMEM); - err = add_to_page_cache_lru(page, mapping, index, GFP_KERNEL); + err = add_to_page_cache_lru(page, mapping, index, + mapping_gfp_mask(mapping)); if (unlikely(err)) { page_cache_release(page); if (err == -EEXIST)