On Tue, 11 Nov 2025 at 07:55, Al Viro <[email protected]> wrote: > > objects are created in fuse_ctl_add_dentry() by d_alloc_name()+d_add(), > removed by simple_remove_by_name(). > > What we return is a borrowed reference - it is valid until the call of > fuse_ctl_remove_conn() and we depend upon the exclusion (on fuse_mutex) > for safety. Return value is used only within the caller > (fuse_ctl_add_conn()). > > Replace d_add() with d_make_persistent() + dput(). dput() is paired > with d_alloc_name() and return value is the result of d_make_persistent(). > > Signed-off-by: Al Viro <[email protected]>
Acked-by: Miklos Szeredi <[email protected]>
