ext4: do not unnecessarily null-terminate encrypted symlink data
authorEric Biggers <ebiggers@google.com>
Fri, 30 Sep 2016 05:44:17 +0000 (01:44 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Fri, 30 Sep 2016 05:44:17 +0000 (01:44 -0400)
Null-terminating the fscrypt_symlink_data on read is unnecessary because
it is not string data --- it contains binary ciphertext.

Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/symlink.c

index 0a26cbd..fdf1c61 100644 (file)
@@ -30,7 +30,6 @@ static const char *ext4_encrypted_get_link(struct dentry *dentry,
        char *caddr, *paddr = NULL;
        struct fscrypt_str cstr, pstr;
        struct fscrypt_symlink_data *sd;
-       loff_t size = min_t(loff_t, i_size_read(inode), PAGE_SIZE - 1);
        int res;
        u32 max_size = inode->i_sb->s_blocksize;
 
@@ -49,7 +48,6 @@ static const char *ext4_encrypted_get_link(struct dentry *dentry,
                if (IS_ERR(cpage))
                        return ERR_CAST(cpage);
                caddr = page_address(cpage);
-               caddr[size] = 0;
        }
 
        /* Symlink is encrypted */