On Sun, Jun 03, 2018 at 01:55:37AM +0100, Al Viro wrote:
> +SYSCALL_DEFINE3(open_tree, int, dfd, const char *, filename, unsigned, flags)
> +{
> +     struct file *file;
> +     struct path path;
> +     int lookup_flags = LOOKUP_AUTOMOUNT | LOOKUP_FOLLOW;
> +     bool detached = flags & OPEN_TREE_CLONE;
> +     int error;
> +     int fd;
> +
> +     BUILD_BUG_ON(OPEN_TREE_CLOEXEC != O_CLOEXEC);

Why do we need OPEN_TREE_CLOEXEC?  Wouldn't we be better off just making
the fd returned by open_tree implicitly close-on-exec?  I can think of
no good reason for these file descriptors to be inherited across exec()
and if someone comes up with such a reason, fcntl(F_SETFD) is not an
expensive call to make.

Reply via email to