Re: [PATCH] ovl: fix failed copyup of fileattr on a symlink

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 4, 2023 at 6:44 AM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
>
> On Mon, 4 Sept 2023 at 15:24, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
> >
> > Some local filesystems support setting persistent fileattr flags
> > (e.g. FS_NOATIME_FL) on directories and regular files via ioctl.
> > Some of those persistent fileattr flags are reflected to vfs as
> > in-memory inode flags (e.g. S_NOATIME).
> >
> > Overlayfs uses the in-memory inode flags (e.g. S_NOATIME) on a lower file
> > as an indication that a the lower file may have persistent inode fileattr
> > flags (e.g. FS_NOATIME_FL) that need to be copied to upper file.
> >
> > However, in some cases, the S_NOATIME in-memory flag could be a false
> > indication for persistent FS_NOATIME_FL fileattr. For example, with NFS
> > and FUSE lower fs, as was the case in the two bug reports, the S_NOATIME
> > flag is set unconditionally for all inodes.
> >
> > Users cannot set persistent fileattr flags on symlinks and special files,
> > but in some local fs, such as ext4/btrfs/tmpfs, the FS_NOATIME_FL fileattr
> > flag are inheritted to symlinks and special files from parent directory.
> >
> > In both cases described above, when lower symlink has the S_NOATIME flag,
> > overlayfs will try to copy the symlink's fileattrs and fail with error
> > ENOXIO, because it could not open the symlink for the ioctl security hook.
> >
> > To solve this failure, do not attempt to copyup fileattrs for anything
> > other than directories and regular files.
> >
> > Reported-by: Ruiwen Zhao <ruiwen@xxxxxxxxxx>
> > Link: https://lore.kernel.org/r/CAKd=y5Hpg7J2gxrFT02F94o=FM9QvGp=kcH1Grctx8HzFYvpiA@xxxxxxxxxxxxxx/
> > Fixes: 72db82115d2b ("ovl: copy up sync/noatime fileattr flags")
> > Cc: <stable@xxxxxxxxxxxxxxx> # v5.15
> > Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx>
> > ---
> >
> > Hi Miklos,
> >
> > Do you agree with this solution?
>
> It's good enough.   Linux might add API's in the future that allow
> querying and setting fileattr on symlinks, but we can deal with that
> later.
>
> Thanks,
> Miklos

Thanks Amir for sending the fix! The fix looks good but I am not sure
how to LGTM it. (Still new to the kernel review process)

I believe the fix will be merged to the master branch first. Can we
backport it to 5.15, considering this is a regression and 5.15 is an
LTS version?

Thanks,
Ruiwen




[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux