All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Biggers <ebiggers@kernel.org>
To: Eugen Hristev <eugen.hristev@collabora.com>
Cc: tytso@mit.edu, adilger.kernel@dilger.ca,
	linux-ext4@vger.kernel.org, jaegeuk@kernel.org, chao@kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-fsdevel@vger.kernel.org, krisman@suse.de,
	brauner@kernel.org, jack@suse.cz, linux-kernel@vger.kernel.org,
	viro@zeniv.linux.org.uk, kernel@collabora.com,
	Gabriel Krisman Bertazi <krisman@collabora.com>
Subject: Re: [f2fs-dev] [PATCH v15 6/9] ext4: Log error when lookup of encoded dentry fails
Date: Tue, 2 Apr 2024 21:22:31 -0700	[thread overview]
Message-ID: <20240403042231.GH2576@sol.localdomain> (raw)
In-Reply-To: <20240402154842.508032-7-eugen.hristev@collabora.com>

On Tue, Apr 02, 2024 at 06:48:39PM +0300, Eugen Hristev via Linux-f2fs-devel wrote:
> From: Gabriel Krisman Bertazi <krisman@collabora.com>
> 
> If the volume is in strict mode, ext4_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.
> 
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
> ---
>  fs/ext4/namei.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> index 2d0ee232fbe7..3268cf45d9db 100644
> --- a/fs/ext4/namei.c
> +++ b/fs/ext4/namei.c
> @@ -1477,6 +1477,9 @@ static bool ext4_match(struct inode *parent,
>  			 * only case where it happens is on a disk
>  			 * corruption or ENOMEM.
>  			 */
> +			if (ret == -EINVAL)
> +				EXT4_ERROR_INODE(parent,
> +					"Directory contains filename that is invalid UTF-8");
>  			return false;

I'm seeing this error when the volume is *not* in strict mode and a file has a
name that is not valid UTF-8.  That doesn't seem to be working as intended.

    mkfs.ext4 -F -O casefold /dev/vdb
    mount /dev/vdb /mnt
    mkdir /mnt/dir
    chattr +F /mnt/dir
    touch /mnt/dir/$'\xff'

[ 1528.691319] EXT4-fs (vdb): Using encoding defined by superblock: utf8-12.1.0 with flags 0x0
[ 1528.707793] EXT4-fs (vdb): mounted filesystem 0be607cc-0dae-4e7f-a40f-4fe8075e8e50 r/w with ordered data mode. Quota mode: none.
[ 1528.728583] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8
[ 1528.730700] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8
[ 1528.732976] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8
[ 1528.735536] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8

WARNING: multiple messages have this Message-ID (diff)
From: Eric Biggers <ebiggers@kernel.org>
To: Eugen Hristev <eugen.hristev@collabora.com>
Cc: krisman@suse.de, brauner@kernel.org, kernel@collabora.com,
	tytso@mit.edu, jack@suse.cz, linux-kernel@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net, adilger.kernel@dilger.ca,
	viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
	jaegeuk@kernel.org, linux-ext4@vger.kernel.org,
	Gabriel Krisman Bertazi <krisman@collabora.com>
Subject: Re: [f2fs-dev] [PATCH v15 6/9] ext4: Log error when lookup of encoded dentry fails
Date: Tue, 2 Apr 2024 21:22:31 -0700	[thread overview]
Message-ID: <20240403042231.GH2576@sol.localdomain> (raw)
In-Reply-To: <20240402154842.508032-7-eugen.hristev@collabora.com>

On Tue, Apr 02, 2024 at 06:48:39PM +0300, Eugen Hristev via Linux-f2fs-devel wrote:
> From: Gabriel Krisman Bertazi <krisman@collabora.com>
> 
> If the volume is in strict mode, ext4_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.
> 
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
> Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
> ---
>  fs/ext4/namei.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> index 2d0ee232fbe7..3268cf45d9db 100644
> --- a/fs/ext4/namei.c
> +++ b/fs/ext4/namei.c
> @@ -1477,6 +1477,9 @@ static bool ext4_match(struct inode *parent,
>  			 * only case where it happens is on a disk
>  			 * corruption or ENOMEM.
>  			 */
> +			if (ret == -EINVAL)
> +				EXT4_ERROR_INODE(parent,
> +					"Directory contains filename that is invalid UTF-8");
>  			return false;

I'm seeing this error when the volume is *not* in strict mode and a file has a
name that is not valid UTF-8.  That doesn't seem to be working as intended.

    mkfs.ext4 -F -O casefold /dev/vdb
    mount /dev/vdb /mnt
    mkdir /mnt/dir
    chattr +F /mnt/dir
    touch /mnt/dir/$'\xff'

[ 1528.691319] EXT4-fs (vdb): Using encoding defined by superblock: utf8-12.1.0 with flags 0x0
[ 1528.707793] EXT4-fs (vdb): mounted filesystem 0be607cc-0dae-4e7f-a40f-4fe8075e8e50 r/w with ordered data mode. Quota mode: none.
[ 1528.728583] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8
[ 1528.730700] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8
[ 1528.732976] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8
[ 1528.735536] EXT4-fs error (device vdb): ext4_match:1481: inode #13: comm touch: Directory contains filename that is invalid UTF-8


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

  reply	other threads:[~2024-04-03  4:22 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 15:48 [PATCH v15 0/9] Cache insensitive cleanup for ext4/f2fs Eugen Hristev
2024-04-02 15:48 ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-02 15:48 ` [PATCH v15 1/9] ext4: Simplify the handling of cached insensitive names Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-02 15:48 ` [PATCH v15 2/9] f2fs: " Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-03  3:30   ` Eric Biggers
2024-04-03  3:30     ` [f2fs-dev] " Eric Biggers
2024-04-02 15:48 ` [PATCH v15 3/9] libfs: Introduce case-insensitive string comparison helper Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-03  3:36   ` Eric Biggers
2024-04-03  3:36     ` [f2fs-dev] " Eric Biggers
2024-04-02 15:48 ` [PATCH v15 4/9] ext4: Reuse generic_ci_match for ci comparisons Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-03  3:43   ` Eric Biggers
2024-04-03  3:43     ` [f2fs-dev] " Eric Biggers
2024-04-03  4:20     ` Eric Biggers
2024-04-03  4:20       ` [f2fs-dev] " Eric Biggers
2024-04-02 15:48 ` [PATCH v15 5/9] f2fs: " Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-02 15:48 ` [PATCH v15 6/9] ext4: Log error when lookup of encoded dentry fails Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-03  4:22   ` Eric Biggers [this message]
2024-04-03  4:22     ` Eric Biggers
2024-04-03 14:39     ` Gabriel Krisman Bertazi
2024-04-03 14:39       ` Gabriel Krisman Bertazi
2024-04-02 15:48 ` [PATCH v15 7/9] f2fs: " Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-03  4:25   ` Eric Biggers
2024-04-03  4:25     ` Eric Biggers
2024-04-04 14:50     ` Eugen Hristev
2024-04-04 14:50       ` Eugen Hristev via Linux-f2fs-devel
2024-04-04 23:05       ` Gabriel Krisman Bertazi
2024-04-04 23:05         ` Gabriel Krisman Bertazi
2024-04-02 15:48 ` [PATCH v15 8/9] ext4: Move CONFIG_UNICODE defguards into the code flow Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel
2024-04-02 15:48 ` [PATCH v15 9/9] f2fs: " Eugen Hristev
2024-04-02 15:48   ` [f2fs-dev] " Eugen Hristev via Linux-f2fs-devel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240403042231.GH2576@sol.localdomain \
    --to=ebiggers@kernel.org \
    --cc=adilger.kernel@dilger.ca \
    --cc=brauner@kernel.org \
    --cc=chao@kernel.org \
    --cc=eugen.hristev@collabora.com \
    --cc=jack@suse.cz \
    --cc=jaegeuk@kernel.org \
    --cc=kernel@collabora.com \
    --cc=krisman@collabora.com \
    --cc=krisman@suse.de \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.