summaryrefslogtreecommitdiffstats
path: root/fs/fuse
diff options
context:
space:
mode:
authorMiklos Szeredi <mszeredi@redhat.com>2020-10-09 12:40:11 +0200
committerMiklos Szeredi <mszeredi@redhat.com>2020-10-12 10:28:14 +0200
commit413daa1a3f4a50af7172a862f391867711e9bc04 (patch)
tree85951bb0decffe8d8a26aaa738c6d8c81c8c9553 /fs/fuse
parentfuse: implement crossmounts (diff)
downloadlinux-413daa1a3f4a50af7172a862f391867711e9bc04.tar.xz
linux-413daa1a3f4a50af7172a862f391867711e9bc04.zip
fuse: connection remove fix
Re-add lost removal of fc from fuse_conn_list and the control filesystem. Reported-by: kernel test robot <rong.a.chen@intel.com> Fixes: fcee216beb9c ("fuse: split fuse_mount off of fuse_conn") Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'fs/fuse')
-rw-r--r--fs/fuse/inode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 7eceb0f20c93..e21034ae1466 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -1547,6 +1547,13 @@ void fuse_conn_destroy(struct fuse_mount *fm)
fuse_abort_conn(fc);
fuse_wait_aborted(fc);
+
+ if (!list_empty(&fc->entry)) {
+ mutex_lock(&fuse_mutex);
+ list_del(&fc->entry);
+ fuse_ctl_remove_conn(fc);
+ mutex_unlock(&fuse_mutex);
+ }
}
EXPORT_SYMBOL_GPL(fuse_conn_destroy);