From 6d79d13e478d677e7bdc1587d3442a070d5205cd Mon Sep 17 00:00:00 2001 From: Protobuf Team Bot Date: Thu, 22 Jun 2023 11:45:06 -0700 Subject: [PATCH] Enable TSan validation to detect when a mutable accessor of a message is called concurrently with another accessor on the same message, which is a data race. This is the first phase, in which we enable validation for repeated/map fields. PiperOrigin-RevId: 542623187 --- src/google/protobuf/port_def.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index 88fb579143739..b6d6c856c17a7 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -862,11 +862,11 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3), // TODO(b/280674214): enable these macros in phases. The phases are: repeated // fields/maps, enum/primitive fields, string fields, message fields. -#define PROTOBUF_TSAN_READ_REPEATED(addr) +#define PROTOBUF_TSAN_READ_REPEATED(addr) PROTOBUF_TSAN_READ(addr) #define PROTOBUF_TSAN_READ_PRIMITIVE(addr) #define PROTOBUF_TSAN_READ_STRING(addr) #define PROTOBUF_TSAN_READ_MESSAGE(addr) -#define PROTOBUF_TSAN_WRITE_REPEATED(addr) +#define PROTOBUF_TSAN_WRITE_REPEATED(addr) PROTOBUF_TSAN_WRITE(addr) #define PROTOBUF_TSAN_WRITE_PRIMITIVE(addr) #define PROTOBUF_TSAN_WRITE_STRING(addr) #define PROTOBUF_TSAN_WRITE_MESSAGE(addr)