On Tue 24-06-25 10:37:36, Song Liu wrote: > On Tue, Jun 24, 2025 at 5:18 AM Jan Kara <jack@xxxxxxx> wrote: > > > + * > > > + * Returns: either an ERR_PTR() or the chosen parent which will have had > > > + * the refcount incremented. > > > + */ > > > > The behavior with LOOKUP_NO_XDEV is kind of odd (not your fault) and > > interestingly I wasn't able to find a place that would depend on the path > > being updated in that case. So either I'm missing some subtle detail (quite > > possible) or we can clean that up in the future. > > We have RESOLVE_NO_XDEV in uapi/linux/openat2.h, so I guess we > cannot really remove it? I didn't mean to remove the LOOKUP_NO_XDEV flag, I meant to not update the passed path if LOOKUP_NO_XDEV is set, we are crossing the mountpoint and thus returning -EXDEV. As far as I've checked once we return error, everybody just path_put()s the nd->path so its update is just pointless. But there are many (indirect) callers so I might have missed some case. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR