[PATCH v3 3/3] fs: store real path instead of fake path in backing file f_path
Amir Goldstein
amir73il at gmail.com
Tue Oct 10 17:57:21 UTC 2023
On Tue, Oct 10, 2023 at 8:41 PM Al Viro <viro at zeniv.linux.org.uk> wrote:
>
> On Tue, Oct 10, 2023 at 05:55:04PM +0100, Al Viro wrote:
> > On Tue, Oct 10, 2023 at 03:34:45PM +0200, Miklos Szeredi wrote:
> > > On Tue, 10 Oct 2023 at 15:17, Amir Goldstein <amir73il at gmail.com> wrote:
> > >
> > > > Sorry, you asked about ovl mount.
> > > > To me it makes sense that if users observe ovl paths in writable mapped
> > > > memory, that ovl should not be remounted RO.
> > > > Anyway, I don't see a good reason to allow remount RO for ovl in that case.
> > > > Is there?
> > >
> > > Agreed.
> > >
> > > But is preventing remount RO important enough to warrant special
> > > casing of backing file in generic code? I'm not convinced either
> > > way...
> >
> > You definitely want to guarantee that remounting filesystem r/o
> > prevents the changes of visible contents; it's not just POSIX,
> > it's a fairly basic common assumption about any local filesystems.
>
> Incidentally, could we simply keep a reference to original struct file
> instead of messing with path?
>
> The only caller of backing_file_open() gets &file->f_path as user_path; how
> about passing file instead, and having backing_file_open() do get_file()
> on it and stash the sucker into your object?
>
> And have put_file_access() do
> if (unlikely(file->f_mode & FMODE_BACKING))
> fput(backing_file(file)->file);
> in the end.
>
> No need to mess with write access in any special way and it's closer
> to the semantics we have for normal mmap(), after all - it keeps the
> file we'd passed to it open as long as mapping is there.
>
> Comments?
Seems good to me.
It also shrinks backing_file by one pointer.
I think this patch can be an extra one after
"fs: store real path instead of fake path in backing file f_path"
Instead of changing storing of real_path to storing orig file in
one change?
If there are no objections, I will write it up.
Thanks,
Amir.
More information about the Linux-security-module-archive
mailing list