The lo_add_dirp_mapping() function assumes lo->mutex is held, so we should acquire it.
Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- contrib/virtiofsd/passthrough_ll.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/virtiofsd/passthrough_ll.c b/contrib/virtiofsd/passthrough_ll.c index 417a104218..e1d729d26b 100644 --- a/contrib/virtiofsd/passthrough_ll.c +++ b/contrib/virtiofsd/passthrough_ll.c @@ -1357,7 +1357,9 @@ static void lo_opendir(fuse_req_t req, fuse_ino_t ino, struct fuse_file_info *fi g_atomic_int_set(&d->refcount, 1); /* paired with lo_releasedir() */ + pthread_mutex_lock(&lo->mutex); fh = lo_add_dirp_mapping(req, d); + pthread_mutex_unlock(&lo->mutex); if (fh == -1) goto out_err; -- 2.21.0