splice: Make filemap_splice_read() check s_maxbytes
[linux-2.6-microblaze.git] / mm / filemap.c
index a200693..0fcb0b8 100644 (file)
@@ -2887,6 +2887,9 @@ ssize_t filemap_splice_read(struct file *in, loff_t *ppos,
        bool writably_mapped;
        int i, error = 0;
 
+       if (unlikely(*ppos >= in->f_mapping->host->i_sb->s_maxbytes))
+               return 0;
+
        init_sync_kiocb(&iocb, in);
        iocb.ki_pos = *ppos;