On Wed, Jan 14, 2026 at 02:15:47AM +0000, Al Viro wrote:
> * Exports. Currently we have getname_kernel() and putname()
> exported, while the rest of importers is not. There is exactly one
> module using those - ksmbd, and both users in it are doing only one
> thing to resulting filename: passing it to vfs_path_parent_lookup().
> No other callers of vfs_path_parent_lookup() exist.
>
> Options:
> A) replace vfs_path_parent_lookup() with
> int path_parent_root(const char *filename, unsigned int flags,
> struct path *parent, struct qstr *last, int *type,
> const struct path *root)
> {
> CLASS(filename_kernel, name)(filename);
> return __filename_parentat(AT_FDCWD, name, flags, parent, last,
> type, root);
> }
> have that exported and used in fs/smb/server/vfs.c instead of
> vfs_path_parent_lookup(); unexport getname_kernel() and putname().
Sorry, can't do - one of those is inside a retry loop. Pity, that...