Re: [f2fs-dev] [PATCH v15 7/9] f2fs: Log error when lookup of encoded dentry fails

From: Eric Biggers
Date: Wed Apr 03 2024 - 00:25:24 EST


On Tue, Apr 02, 2024 at 06:48:40PM +0300, Eugen Hristev via Linux-f2fs-devel wrote:
> If the volume is in strict mode, generi c_ci_compare can report a broken
> encoding name. This will not trigger on a bad lookup, which is caught
> earlier, only if the actual disk name is bad.
>
> Suggested-by: Gabriel Krisman Bertazi <krisman@xxxxxxx>
> Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
> ---
> fs/f2fs/dir.c | 15 ++++++++++-----
> 1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/fs/f2fs/dir.c b/fs/f2fs/dir.c
> index 88b0045d0c4f..64286d80dd30 100644
> --- a/fs/f2fs/dir.c
> +++ b/fs/f2fs/dir.c
> @@ -192,11 +192,16 @@ static inline int f2fs_match_name(const struct inode *dir,
> struct fscrypt_name f;
>
> #if IS_ENABLED(CONFIG_UNICODE)
> - if (fname->cf_name.name)
> - return generic_ci_match(dir, fname->usr_fname,
> - &fname->cf_name,
> - de_name, de_name_len);
> -
> + if (fname->cf_name.name) {
> + int ret = generic_ci_match(dir, fname->usr_fname,
> + &fname->cf_name,
> + de_name, de_name_len);
> + if (ret == -EINVAL)
> + f2fs_warn(F2FS_SB(dir->i_sb),
> + "Directory contains filename that is invalid UTF-8");
> +

Shouldn't this use f2fs_warn_ratelimited?

- Eric