openat2 had a bug: if we pass RESOLVE_NO_XDEV, then openat2 doesn't traverse through automounts, but may still trigger them. See this link for full bug report with reproducer: https://lore.kernel.org/linux-fsdevel/20250817075252.4137628-1-safinaskar@xxxxxxxxxxxx/ This patchset fixes the bug. RESOLVE_NO_XDEV logic hopefully becomes more clear: now we immediately fail when we cross mountpoints. I think this patchset should get to -fixes and stable trees. I split everything to very small commits to make everything as bisectable as possible. Minimal testing was performed. I tested that my original reproducer doesn't reproduce anymore. And I did boot-test with localmodconfig in qemu I'm not very attached to this patchset. I. e. I will not be offended if someone else will submit different fix for this bug. Askar Safin (4): vfs: fs/namei.c: move cross-device check to traverse_mounts vfs: fs/namei.c: remove LOOKUP_NO_XDEV check from handle_mounts vfs: fs/namei.c: move cross-device check to __traverse_mounts vfs: fs/namei.c: if RESOLVE_NO_XDEV passed to openat2, don't *trigger* automounts fs/namei.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) -- 2.47.2