aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNikolaus Rath <Nikolaus@rath.org>2020-08-28 20:07:11 +0100
committerNikolaus Rath <Nikolaus@rath.org>2020-08-28 20:07:11 +0100
commitf0d55439057b3b75aed5ffa29b5f08ad2099d536 (patch)
tree38155d48ef5e0999c8229cd88cf7191e60e6be8e /lib
parent4e271a91a31aea0fff64eef50ea0634d2c599105 (diff)
downloadlibfuse-f0d55439057b3b75aed5ffa29b5f08ad2099d536.tar.gz
Suppress some bogus thread sanitizer warnings.
Diffstat (limited to 'lib')
-rw-r--r--lib/fuse_lowlevel.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/fuse_lowlevel.c b/lib/fuse_lowlevel.c
index f4e6138..21379c1 100644
--- a/lib/fuse_lowlevel.c
+++ b/lib/fuse_lowlevel.c
@@ -1888,7 +1888,10 @@ static void do_lseek(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
fuse_reply_err(req, ENOSYS);
}
-static void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
+/* Prevent bogus data races (bogus since "init" is called before
+ * multi-threading becomes relevant */
+static __attribute__((no_sanitize("thread")))
+void do_init(fuse_req_t req, fuse_ino_t nodeid, const void *inarg)
{
struct fuse_init_in *arg = (struct fuse_init_in *) inarg;
struct fuse_init_out outarg;
@@ -3115,17 +3118,22 @@ int fuse_req_getgroups(fuse_req_t req, int size, gid_t list[])
}
#endif
+/* Prevent spurious data race warning - we don't care
+ * about races for this flag */
+__attribute__((no_sanitize_thread))
void fuse_session_exit(struct fuse_session *se)
{
se->exited = 1;
}
+__attribute__((no_sanitize_thread))
void fuse_session_reset(struct fuse_session *se)
{
se->exited = 0;
se->error = 0;
}
+__attribute__((no_sanitize_thread))
int fuse_session_exited(struct fuse_session *se)
{
return se->exited;