diff --git a/mm/filemap.c b/mm/filemap.c index 779801092ef1..d8d7df82c69a 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1703,6 +1703,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,