diff options
author | Miklos Szeredi <mszeredi@redhat.com> | 2020-10-09 12:40:11 +0200 |
---|---|---|
committer | Miklos Szeredi <mszeredi@redhat.com> | 2020-10-12 10:28:14 +0200 |
commit | 413daa1a3f4a50af7172a862f391867711e9bc04 (patch) | |
tree | 85951bb0decffe8d8a26aaa738c6d8c81c8c9553 /fs/fuse | |
parent | bf109c64040f5b6bfe8a7044667e11d62dff6d91 (diff) | |
download | linux-413daa1a3f4a50af7172a862f391867711e9bc04.tar.gz linux-413daa1a3f4a50af7172a862f391867711e9bc04.tar.bz2 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.c | 7 |
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); |