]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/read_write.c
merge Linus head tree into my drm tree and fix up conflicts
[linux-2.6-omap-h63xx.git] / fs / read_write.c
index 563abd09b5c84b882cbe6f47e56d05e80e5db4b6..a091ee4f430df6cc83317b59c4a2fc363c005080 100644 (file)
@@ -188,7 +188,7 @@ int rw_verify_area(int read_write, struct file *file, loff_t *ppos, size_t count
        struct inode *inode;
        loff_t pos;
 
-       if (unlikely(count > file->f_maxcount))
+       if (unlikely(count > INT_MAX))
                goto Einval;
        pos = *ppos;
        if (unlikely((pos < 0) || (loff_t) (pos + count) < 0))
@@ -497,6 +497,9 @@ static ssize_t do_readv_writev(int type, struct file *file,
        }
 
        ret = rw_verify_area(type, file, pos, tot_len);
+       if (ret)
+               goto out;
+       ret = security_file_permission(file, type == READ ? MAY_READ : MAY_WRITE);
        if (ret)
                goto out;