kernel_optimize_test/fs/ext4
Eric Biggers 894a02236d ext4: report correct st_size for encrypted symlinks
commit 8c4bca10ceafc43b1ca0a9fab5fa27e13cbce99e upstream.

The stat() family of syscalls report the wrong size for encrypted
symlinks, which has caused breakage in several userspace programs.

Fix this by calling fscrypt_symlink_getattr() after ext4_getattr() for
encrypted symlinks.  This function computes the correct size by reading
and decrypting the symlink target (if it's not already cached).

For more details, see the commit which added fscrypt_symlink_getattr().

Fixes: f348c25232 ("ext4 crypto: add symlink encryption")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20210702065350.209646-3-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-09-08 08:48:59 +02:00
..
acl.c
acl.h
balloc.c ext4: shrink race window in ext4_should_retry_alloc() 2021-04-07 15:00:03 +02:00
bitmap.c
block_validity.c
dir.c ext4: use generic casefolding support 2020-10-28 13:43:13 -04:00
ext4_extents.h
ext4_jbd2.c
ext4_jbd2.h
ext4.h ext4: fix memory leak in ext4_fill_super 2021-07-19 09:45:03 +02:00
extents_status.c ext4: remove check for zero nr_to_scan in ext4_es_scan() 2021-07-14 16:55:41 +02:00
extents_status.h
extents.c ext4: fix kernel infoleak via ext4_extent_header 2021-07-14 16:55:40 +02:00
fast_commit.c ext4: fix fast commit alignment issues 2021-06-10 13:39:26 +02:00
fast_commit.h ext4: fix fast commit alignment issues 2021-06-10 13:39:26 +02:00
file.c ext4: Fix occasional generic/418 failure 2021-05-11 14:47:38 +02:00
fsmap.c jbd2: rename j_maxlen to j_total_len and add jbd2_journal_max_txn_bufs 2020-11-06 23:01:02 -05:00
fsmap.h
fsync.c ext4: make s_mount_flags modifications atomic 2020-11-06 23:01:05 -05:00
hash.c ext4: use generic casefolding support 2020-10-28 13:43:13 -04:00
ialloc.c ext4: fix avefreec in find_group_orlov 2021-07-14 16:55:41 +02:00
indirect.c
inline.c ext4: fix race writing to an inline_data file while its xattrs are changing 2021-09-08 08:48:59 +02:00
inode-test.c
inode.c ext4: fix overflow in ext4_iomap_alloc() 2021-07-14 16:55:40 +02:00
ioctl.c ext4: allow the dax flag to be set and cleared on inline directories 2021-05-11 14:47:38 +02:00
Kconfig ext: EXT4_KUNIT_TESTS should depend on EXT4_FS instead of selecting it 2021-03-04 11:38:15 +01:00
Makefile
mballoc.c ext4: use ext4_grp_locked_error in mb_find_extent 2021-07-14 16:55:41 +02:00
mballoc.h
migrate.c
mmp.c ext4: fix memory leak in ext4_fill_super 2021-07-19 09:45:03 +02:00
move_extent.c
namei.c ext4: fix potential htree corruption when growing large_dir directories 2021-08-12 13:22:14 +02:00
page-io.c
readpage.c
resize.c
super.c ext4: fix memory leak in ext4_fill_super 2021-07-19 09:45:03 +02:00
symlink.c ext4: report correct st_size for encrypted symlinks 2021-09-08 08:48:59 +02:00
sysfs.c ext4: shrink race window in ext4_should_retry_alloc() 2021-04-07 15:00:03 +02:00
truncate.h
verity.c ext4: fix error handling in ext4_end_enable_verity() 2021-03-25 09:04:17 +01:00
xattr_hurd.c
xattr_security.c
xattr_trusted.c
xattr_user.c
xattr.c ext4: add reclaim checks to xattr code 2021-03-30 14:32:08 +02:00
xattr.h