Inner workings are explained in the comment above cache_fplookup.
Capabilities and fd-relative lookups are not supported and will result in immediate fallback to regular code.
Symlinks, ".." in the path, mount points without support for lockless lookup and mismatched counters will result in an attempt to get a reference to the directory vnode and continue in regular lookup. If this fails, the entire operation is aborted and regular lookup starts from scratch. However, care is taken that data is not copied again from userspace.