Re: [PATCH v9 05/10] namei: O_BENEATH-style path resolution flags

From: Al Viro
Date: Fri Jul 12 2019 - 11:00:59 EST


On Fri, Jul 12, 2019 at 02:25:53PM +0100, Al Viro wrote:

> if (flags & LOOKUP_BENEATH) {
> nd->root = nd->path;
> if (!(flags & LOOKUP_RCU))
> path_get(&nd->root);
> else
> nd->root_seq = nd->seq;

BTW, this assignment is needed for LOOKUP_RCU case. Without it
you are pretty much guaranteed that lazy pathwalk will fail,
when it comes to complete_walk().

Speaking of which, what would happen if LOOKUP_ROOT/LOOKUP_BENEATH
combination would someday get passed?