49 lines
1.5 KiB
Diff
49 lines
1.5 KiB
Diff
|
|
From e46aad0c3571bd5f9da4cd4544fa3d6201dc3890 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||
|
|
Date: Sun, 12 Dec 2021 15:25:32 +0100
|
||
|
|
Subject: [PATCH] pcscdaemon.c: Fix data race for AraKiri variable
|
||
|
|
|
||
|
|
Issue reported by clang ThreadSanitizer
|
||
|
|
|
||
|
|
WARNING: ThreadSanitizer: data race (pid=14419)
|
||
|
|
Read of size 1 at 0x000000f3a9c8 by main thread:
|
||
|
|
#0 SVCServiceRunLoop <null> (pcscd+0x4c0da9)
|
||
|
|
#1 main <null> (pcscd+0x4c0694)
|
||
|
|
|
||
|
|
Previous write of size 1 at 0x000000f3a9c8 by thread T1:
|
||
|
|
#0 signal_thread <null> (pcscd+0x4c0aca)
|
||
|
|
|
||
|
|
As if synchronized via sleep:
|
||
|
|
#0 nanosleep <null> (pcscd+0x4297dd)
|
||
|
|
#1 SYS_USleep <null> (pcscd+0x4c6c36)
|
||
|
|
#2 SVCServiceRunLoop <null> (pcscd+0x4c0cef)
|
||
|
|
#3 main <null> (pcscd+0x4c0694)
|
||
|
|
|
||
|
|
Location is global 'AraKiri' of size 1 at 0x000000f3a9c8 (pcscd+0x000000f3a9c8)
|
||
|
|
|
||
|
|
Thread T1 (tid=14421, running) created by main thread at:
|
||
|
|
#0 pthread_create <null> (pcscd+0x42be9b)
|
||
|
|
#1 main <null> (pcscd+0x4c01c8)
|
||
|
|
|
||
|
|
SUMMARY: ThreadSanitizer: data race (/home/rousseau/sc/costa/PCSC/src/pcscd+0x4c0da9) in SVCServiceRunLoop
|
||
|
|
---
|
||
|
|
src/pcscdaemon.c | 2 +-
|
||
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/src/pcscdaemon.c b/src/pcscdaemon.c
|
||
|
|
index 2cc3fc0..2c4e305 100644
|
||
|
|
--- a/src/pcscdaemon.c
|
||
|
|
+++ b/src/pcscdaemon.c
|
||
|
|
@@ -75,7 +75,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
|
#define FALSE 0
|
||
|
|
#endif
|
||
|
|
|
||
|
|
-char AraKiri = FALSE;
|
||
|
|
+_Atomic char AraKiri = FALSE;
|
||
|
|
static char Init = TRUE;
|
||
|
|
char AutoExit = FALSE;
|
||
|
|
char SocketActivated = FALSE;
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|