Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 May 2013 20:44:35 +0000 (13:44 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 9 May 2013 20:44:35 +0000 (13:44 -0700)
Pull more vfs fixes from Al Viro:
 "Regression fix from Geert + yet another open-coded kernel_read()"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  ecryptfs: don't open-code kernel_read()
  xtensa simdisk: Fix proc_create_data() conversion fallout

arch/xtensa/platforms/iss/simdisk.c
fs/ecryptfs/read_write.c

index 0345f43..fc3c91f 100644 (file)
@@ -217,7 +217,7 @@ static ssize_t proc_read_simdisk(struct file *file, char __user *buf,
                        size_t size, loff_t *ppos)
 {
        struct simdisk *dev = PDE_DATA(file_inode(file));
-       char *s = dev->filename;
+       const char *s = dev->filename;
        if (s) {
                ssize_t n = simple_read_from_buffer(buf, size, ppos,
                                                        s, strlen(s));
@@ -238,7 +238,7 @@ static ssize_t proc_write_simdisk(struct file *file, const char __user *buf,
 
        if (tmp == NULL)
                return -ENOMEM;
-       if (copy_from_user(tmp, buffer, count)) {
+       if (copy_from_user(tmp, buf, count)) {
                err = -EFAULT;
                goto out_free;
        }
index 6a16053..09fe622 100644 (file)
@@ -232,17 +232,10 @@ int ecryptfs_read_lower(char *data, loff_t offset, size_t size,
                        struct inode *ecryptfs_inode)
 {
        struct file *lower_file;
-       mm_segment_t fs_save;
-       ssize_t rc;
-
        lower_file = ecryptfs_inode_to_private(ecryptfs_inode)->lower_file;
        if (!lower_file)
                return -EIO;
-       fs_save = get_fs();
-       set_fs(get_ds());
-       rc = vfs_read(lower_file, data, size, &offset);
-       set_fs(fs_save);
-       return rc;
+       return kernel_read(lower_file, offset, data, size);
 }
 
 /**