aboutsummaryrefslogtreecommitdiff
path: root/fs/ext4/dir.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@google.com>2015-05-04 19:35:03 -0400
committerMister Oyster <oysterized@gmail.com>2017-05-27 19:40:01 +0200
commite7034a6f3ca2ca739a5a8e8eb463f6b24e9c0611 (patch)
tree55d63d605a30b6defd971a9e894a5938f728ca86 /fs/ext4/dir.c
parent86554ec8ca9c64f134c74e7cdd6df400658359e3 (diff)
ext4 crypto: don't allocate a page when encrypting/decrypting file names
Change-Id: Ib0deff3a9aff318d8f2be6b4a550168d4771ccc2 Signed-off-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Theodore Ts'o <tytso@google.com>
Diffstat (limited to 'fs/ext4/dir.c')
-rw-r--r--fs/ext4/dir.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index ffb83e87b..375878d2e 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -250,9 +250,12 @@ static int ext4_readdir2(struct file *file, struct dir_context *ctx)
get_dtype(sb, de->file_type)))
goto done;
} else {
+ int save_len = fname_crypto_str.len;
+
/* Directory is encrypted */
err = ext4_fname_disk_to_usr(enc_ctx,
NULL, de, &fname_crypto_str);
+ fname_crypto_str.len = save_len;
if (err < 0)
goto errout;
if (!dir_emit(ctx,