MALI: utgard: upgrade DDK to r7p0-00rel0
[firefly-linux-kernel-4.4.55.git] / mm / filemap.c
index c588d1222b2afb2402bd0cf5bbaf4dca027ddc51..69f75c77c0982a6c0ecda29078c1bdebef6f80c5 100644 (file)
@@ -865,9 +865,12 @@ void page_endio(struct page *page, int rw, int err)
                unlock_page(page);
        } else { /* rw == WRITE */
                if (err) {
+                       struct address_space *mapping;
+
                        SetPageError(page);
-                       if (page->mapping)
-                               mapping_set_error(page->mapping, err);
+                       mapping = page_mapping(page);
+                       if (mapping)
+                               mapping_set_error(mapping, err);
                }
                end_page_writeback(page);
        }
@@ -1559,6 +1562,11 @@ static ssize_t do_generic_file_read(struct file *filp, loff_t *ppos,
 
                cond_resched();
 find_page:
+               if (fatal_signal_pending(current)) {
+                       error = -EINTR;
+                       goto out;
+               }
+
                page = find_get_page(mapping, index);
                if (!page) {
                        page_cache_sync_readahead(mapping,