Add a mutex to do_release_file_info to avoid lxcfs crash when stopping
multiple containers concurrently
Signed-off-by: tomponline <tomp@tomp.uk>
[christian.brauner@ubuntu.com: use correct commit message style]
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
+static pthread_mutex_t do_release_file_info_lock = PTHREAD_MUTEX_INITIALIZER;
+
static void do_release_file_info(struct fuse_file_info *fi)
{
static void do_release_file_info(struct fuse_file_info *fi)
{
+ lock_mutex(&do_release_file_info_lock);
+
struct file_info *f = (struct file_info *)fi->fh;
if (!f)
struct file_info *f = (struct file_info *)fi->fh;
if (!f)
+ unlock_mutex(&do_release_file_info_lock);
f->buf = NULL;
free(f);
f = NULL;
f->buf = NULL;
free(f);
f = NULL;
+
+ unlock_mutex(&do_release_file_info_lock);
}
int cg_releasedir(const char *path, struct fuse_file_info *fi)
}
int cg_releasedir(const char *path, struct fuse_file_info *fi)