lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6235a4c0-2b28-4dd6-8f18-4c1f98015de6@igalia.com>
Date: Mon, 25 Aug 2025 10:31:16 -0300
From: André Almeida <andrealmeid@...lia.com>
To: Amir Goldstein <amir73il@...il.com>
Cc: Miklos Szeredi <miklos@...redi.hu>, Theodore Tso <tytso@....edu>,
 Gabriel Krisman Bertazi <krisman@...nel.org>, linux-unionfs@...r.kernel.org,
 linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
 Alexander Viro <viro@...iv.linux.org.uk>,
 Christian Brauner <brauner@...nel.org>, Jan Kara <jack@...e.cz>,
 kernel-dev@...lia.com
Subject: Re: [PATCH v6 9/9] ovl: Support mounting case-insensitive enabled
 layers

Hi Amir,

Em 22/08/2025 16:17, Amir Goldstein escreveu:

[...]

   /*
>>>> -        * Allow filesystems that are case-folding capable but deny composing
>>>> -        * ovl stack from case-folded directories.
>>>> +        * Exceptionally for layers with casefold, we accept that they have
>>>> +        * their own hash and compare operations
>>>>            */
>>>> -       if (sb_has_encoding(dentry->d_sb))
>>>> -               return IS_CASEFOLDED(d_inode(dentry));
>>>> +       if (ofs->casefold)
>>>> +               return false;
>>>
>>> I think this is better as:
>>>           if (sb_has_encoding(dentry->d_sb))
>>>                   return false;
>>>
> 
> And this still fails the test "Casefold enabled" for me.
> 
> Maybe you are confused because this does not look like
> a test failure. It looks like this:
> 
> generic/999 5s ...  [19:10:21][  150.667994] overlayfs: failed lookup
> in lower (ovl-lower/casefold, name='subdir', err=-116): parent wrong
> casefold
> [  150.669741] overlayfs: failed lookup in lower (ovl-lower/casefold,
> name='subdir', err=-116): parent wrong casefold
> [  150.760644] overlayfs: failed lookup in lower (/ovl-lower,
> name='casefold', err=-66): child wrong casefold
>   [19:10:24] [not run]
> generic/999 -- overlayfs does not support casefold enabled layers
> Ran: generic/999
> Not run: generic/999
> Passed all 1 tests
> 

This is how the test output looks before my changes[1] to the test:

$ ./run.sh
FSTYP         -- ext4
PLATFORM      -- Linux/x86_64 archlinux 6.17.0-rc1+ #1174 SMP 
PREEMPT_DYNAMIC Mon Aug 25 10:18:09 -03 2025
MKFS_OPTIONS  -- -F /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr /dev/vdc /tmp/dir2

generic/999 1s ... [not run] overlayfs does not support casefold enabled 
layers
Ran: generic/999
Not run: generic/999
Passed all 1 tests


And this is how it looks after my changes[1] to the test:

$ ./run.sh
FSTYP         -- ext4
PLATFORM      -- Linux/x86_64 archlinux 6.17.0-rc1+ #1174 SMP 
PREEMPT_DYNAMIC Mon Aug 25 10:18:09 -03 2025
MKFS_OPTIONS  -- -F /dev/vdc
MOUNT_OPTIONS -- -o acl,user_xattr /dev/vdc /tmp/dir2

generic/999        1s
Ran: generic/999
Passed all 1 tests

So, as far as I can tell, the casefold enabled is not being skipped 
after the fix to the test.

[1] 
https://lore.kernel.org/lkml/5da6b0f4-2730-4783-9c57-c46c2d13e848@igalia.com/


> I'm not sure I will keep the test this way. This is not very standard nor
> good practice, to run half of the test and then skip it.
> I would probably split it into two tests.
> The first one as it is now will run to completion on kenrels >= v6.17
> and the Casefold enable test will run on kernels >= v6.18.
> 
> In any case, please make sure that the test is not skipped when testing
> Casefold enabled layers
> 
> And then continue with the missing test cases.
> 
> When you have a test that passes please send the test itself or
> a fstest branch for me to test.

Ok!

> 
> Thanks,
> Amir.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ