XFS reports lchmod failure, but changes file system contents
Florian Weimer
fw@deneb.enyo.de
Wed Feb 12 20:02:00 GMT 2020
* Al Viro:
> On Wed, Feb 12, 2020 at 08:15:08PM +0100, Florian Weimer wrote:
>
>> | Further, I've found some inconsistent behavior with ext4: chmod on the
>> | magic symlink fails with EOPNOTSUPP as in Florian's test, but fchmod
>> | on the O_PATH fd succeeds and changes the symlink mode. This is with
>> | 5.4. Cany anyone else confirm this? Is it a problem?
>>
>> It looks broken to me because fchmod (as an inode-changing operation)
>> is not supposed to work on O_PATH descriptors.
>
> Why? O_PATH does have an associated inode just fine; where does
> that "not supposed to" come from?
It fails on most file systems right now. I thought that was expected.
Other system calls (fsetxattr IIRC) do not work on O_PATH descriptors,
either. I assumed that an O_PATH descriptor was not intending to
confer that capability. Even openat fails.
Although fchmod does succeed on read-only descriptors, which is a bit
strange.
More information about the Libc-alpha
mailing list