On Fri, Sep 23, 2022 at 10:03:34AM -0400, Brian Foster wrote: > incompatible with O_CREAT. Otherwise the tradeoff for this change is > that this may impact behavior when an absolute path O_CREAT lookup > lands on a symlink that contains another absolute path. The unlazy > sequence of the create lookup now clears the nd->root mount pointer, > which means that once we read said link via step_into(), the > subsequent nd_jump_root() calls into set_root() to grab the mount > pointer again (from refwalk mode). This is historical behavior for > O_CREAT and less common than the current behavior of a typical > create lookup unnecessarily legitimizing the root dentry. I'm not worried about the overhead of retrieving the root again; using the different values for beginning and the end of pathwalk, OTOH... It's probably OK, but it makes analysis harder. Do we have a real-world testcases where the contention would be observable?