Re: new ...at() flag: AT_NO_JUMPS

From: Andy Lutomirski
Date: Sat Apr 29 2017 - 19:18:50 EST


On Sat, Apr 29, 2017 at 3:04 PM, Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
> New AT_... flag - AT_NO_JUMPS
>
> Semantics: pathname resolution must not involve
> * traversals of absolute symlinks
> * traversals of procfs-style symlinks
> * traversals of mountpoints (including bindings, referrals, etc.)
> * traversal of .. in the starting point of pathname resolution.

Can you clarify this last one? I assume that ".." will be rejected,
but what about "a/../.."? How about "b" if b is a symlink to ".."?
How about "a/b" if a is a directory and b is a symlink to "../.."?

> Right now I have it hooked only for fstatat() and friends; it could be
> easily extended to any ...at() syscalls. Objections?

I like it, assuming the answers to all the questions above are that
they will be rejected.