From: Stefan Hajnoczi <stefanha@redhat.com>
To: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Cc: qemu-devel@nongnu.org, "Warner Losh" <imp@bsdimp.com>,
"Kyle Evans" <kevans@freebsd.org>,
"Kevin Wolf" <kwolf@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Thomas Huth" <thuth@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>
Subject: Re: [PATCH 2/3] bsd-user/mmap: use TSA_NO_TSA to suppress clang TSA warnings
Date: Tue, 17 Jan 2023 11:32:19 -0500 [thread overview]
Message-ID: <Y8bNk0W8OKlO/hGI@fedora> (raw)
In-Reply-To: <20230117135203.3049709-3-eesposit@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1260 bytes --]
On Tue, Jan 17, 2023 at 08:52:02AM -0500, Emanuele Giuseppe Esposito wrote:
> QEMU does not compile when enabling clang's thread safety analysis
> (TSA),
> because some functions create wrappers for pthread mutexes but do
> not use any TSA macro. Therefore the compiler fails.
>
> In order to make the compiler happy and avoid adding all the
> necessary macros to all callers (lock functions should use
> TSA_ACQUIRE, while unlock TSA_RELEASE, and this applies to allusers of pthread_mutex_lock/pthread_mutex_unlock),
> simply use TSA_NO_TSA to supppress such warnings.
>
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> ---
> bsd-user/qemu.h | 5 +++--
> include/exec/exec-all.h | 5 +++--
> 2 files changed, 6 insertions(+), 4 deletions(-)
As a TSA newbie I'm wondering how would we go about annotating this
properly?
Maybe:
1. mmap_lock() ACQUIRE(), mmap_unlock() RELEASE()
2. Find all functions that call mmap_lock() but not mmap_release() and
add ACQUIRE().
3. Find all functions that call mmap_unlock() but not mmap_lock() and
add RELEASE().
Can you add an item to https://wiki.qemu.org/BiteSizedTasks so someone
who wants to spend a few hours auditing the code can do this?
Thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-01-17 16:32 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-17 13:52 [PATCH 0/3] TSA: make sure QEMU compiles when using clang TSA Emanuele Giuseppe Esposito
2023-01-17 13:52 ` [PATCH 1/3] util/qemu-thread-posix: use TSA_NO_TSA to suppress clang TSA warnings Emanuele Giuseppe Esposito
2023-01-17 14:33 ` Philippe Mathieu-Daudé
2023-01-17 14:43 ` Emanuele Giuseppe Esposito
2023-01-17 15:49 ` Philippe Mathieu-Daudé
2023-01-17 13:52 ` [PATCH 2/3] bsd-user/mmap: " Emanuele Giuseppe Esposito
2023-01-17 16:16 ` Warner Losh
2023-01-17 16:21 ` Emanuele Giuseppe Esposito
2023-01-17 16:25 ` Kevin Wolf
2023-01-17 16:43 ` Warner Losh
2023-01-17 17:17 ` Kevin Wolf
2023-01-17 20:43 ` Stefan Hajnoczi
2023-01-18 9:14 ` Kevin Wolf
2023-01-18 12:31 ` Stefan Hajnoczi
2023-01-18 15:12 ` Emanuele Giuseppe Esposito
2023-01-18 15:24 ` Stefan Hajnoczi
2023-01-18 17:35 ` Warner Losh
2023-01-17 16:32 ` Stefan Hajnoczi [this message]
2023-01-17 13:52 ` [PATCH 3/3] configure: Enable -Wthread-safety if present Emanuele Giuseppe Esposito
2023-01-17 14:02 ` Daniel P. Berrangé
2023-01-17 14:41 ` Emanuele Giuseppe Esposito
2023-01-17 15:01 ` Daniel P. Berrangé
2023-01-17 15:59 ` Kevin Wolf
2023-01-17 16:22 ` [PATCH 0/3] TSA: make sure QEMU compiles when using clang TSA Stefan Hajnoczi
2023-02-13 10:44 ` Kevin Wolf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y8bNk0W8OKlO/hGI@fedora \
--to=stefanha@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=eesposit@redhat.com \
--cc=imp@bsdimp.com \
--cc=kevans@freebsd.org \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.