Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 9 Jan 2020 21:03:00 -0800 | Subject | Re: [PATCH RFC 0/1] mount: universally disallow mounting over symlinks |
| |
On Thu, Jan 9, 2020 at 8:15 PM Al Viro <viro@zeniv.linux.org.uk> wrote: > > > > Hmm. If that's the case, maybe they should be marked implicitly as > > O_PATH when opened? > > I thought you wanted O_PATH as starting point to have mounts traversed? > Confused...
No, I'm confused. I meant "non-O_PATH", just got the rules reversed in my mind.
So cwd/root would always act as it non-O_PATH, and only using an actual fd would look at the O_PATH flag, and if it was set would walk the mountpoints.
> <grabs Bach> Right, he simply transcribes v7 iget(). > > So I suspect that you are right - your variant of iget was pretty much > one-to-one implementation of Bach's description of v7 iget.
Ok, that makes sense. My copy of Bach literally had the system call list "marked off" when I implemented them back when.
I may still have that paperbook copy somewhere. I don't _think_ I'd have thrown it out, it has sentimental value.
> > I think that in a perfect world, the O_PATH'ness of '42' would be the > > deciding factor. Wouldn't those be the best and most consistent > > semantics? > > > > And then 'cwd'/'root' always have the O_PATH behavior. > > See above - unless I'm misparsing you, you wanted mount traversals in the > starting point if it's ...at() with O_PATH fd.
.. and see above, it was just my confusion about the sense of O_PATH.
> For cwd and root the situation is opposite - we do NOT traverse mounts > for those. And that's really too late to change.
Oh, absolutely.
[ snip some more about your automount digging. Looks about right, but I'm not going to make a peep after getting O_PATH reversed ;) ]
Linus
| |