linux_dsm_epyc7002/fs/f2fs
Eric Biggers d6675f69f0 f2fs: report correct st_size for encrypted symlinks
commit 461b43a8f92e68e96c4424b31e15f2b35f1bbfa9 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 f2fs_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: cbaf042a3c ("f2fs crypto: add symlink encryption")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20210702065350.209646-4-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 19:03:35 +02:00
..
acl.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
acl.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
checkpoint.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
compress.c f2fs: compress: fix to assign cc.cluster_idx correctly 2021-05-19 10:13:14 +02:00
data.c f2fs: Prevent swap file in LFS mode 2021-07-14 16:55:43 +02:00
debug.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
dir.c f2fs-for-5.10-rc1 2020-10-16 15:14:43 -07:00
extent_cache.c f2fs: support 64-bits key in f2fs rb-tree node entry 2020-09-10 14:03:30 -07:00
f2fs.h f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances 2021-07-19 09:45:03 +02:00
file.c f2fs: avoid unneeded data copy in f2fs_ioc_move_range() 2021-05-19 10:13:10 +02:00
gc.c f2fs: atgc: fix to set default age threshold 2021-07-20 16:05:49 +02:00
gc.h f2fs: support age threshold based garbage collection 2020-09-11 11:11:15 -07:00
hash.c f2fs-for-5.8-rc1 2020-06-09 11:28:59 -07:00
inline.c f2fs: fix a redundant call to f2fs_balance_fs if an error occurs 2021-05-19 10:13:00 +02:00
inode.c f2fs: fix to set SBI_NEED_FSCK flag for inconsistent inode 2020-10-09 10:29:31 -07:00
Kconfig f2fs: compress: support lzo-rle compress algorithm 2020-05-11 20:36:46 -07:00
Makefile f2fs: support data compression 2020-01-17 16:48:07 -08:00
namei.c f2fs: report correct st_size for encrypted symlinks 2024-07-05 19:03:35 +02:00
node.c f2fs: fix to avoid out-of-bounds memory access 2021-05-11 14:47:34 +02:00
node.h f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
recovery.c f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances 2021-07-19 09:45:03 +02:00
segment.c f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block() 2021-05-19 10:13:02 +02:00
segment.h f2fs: fix to avoid touching checkpointed data in get_victim() 2021-05-19 10:13:02 +02:00
shrinker.c f2fs: avoid race condition for shrinker count 2021-01-06 14:56:54 +01:00
super.c f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs 2021-07-20 16:05:50 +02:00
sysfs.c f2fs: Show casefolding support only when supported 2021-07-25 14:36:17 +02:00
trace.c f2fs: do not use mutex lock in atomic context 2019-03-05 19:58:06 -08:00
trace.h f2fs: Use the correct style for SPDX License Identifier 2020-05-08 06:55:55 -07:00
verity.c f2fs: fix error handling in f2fs_end_enable_verity() 2021-05-11 14:47:34 +02:00
xattr.c f2fs: clean up kvfree 2020-09-14 11:15:37 -07:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00