[PATCH 00/14] Add clang Thread Safety Analysis (TSA) support

Carlos López <[email protected]> Wed, 29 Jul 2026 18:35:27 +0200
Newsgroups org.infradead.lists.opensbi
Message-ID <[email protected]>
RW5hYmxlIHRoZSB1c2Ugb2YgY2xhbmcncyBUaHJlYWQgU2FmZXR5IEFuYWx5c2lzIFswXS4gVFNB
IGlzIGEgY2xhbmcKbGFuZ3VhZ2UgZXh0ZW5zaW9uIHRoYXQgYWxsb3dzIGRldGVjdGluZyBwb3Rl
bnRpYWwgaW52YWxpZCBsb2NraW5nCnBhdHRlcm5zIGFuZCByYWNlIGNvbmRpdGlvbnMgYXQgY29t
cGlsZSB0aW1lLCB3aXRoIHplcm8gcnVudGltZQpvdmVyaGVhZC4gVFNBIHJlbGllcyBvbiBhbm5v
dGF0aW9ucyB0byBleHByZXNzIHRoZSByZWxhdGlvbnNoaXBzIGJldHdlZW4KZGF0YSBhbmQgbG9j
a3MsIGFuZCB0aGUgZXhwZWN0ZWQgc3RhdGUgb2YgYSBsb2NrIGF0IGNlcnRhaW4gcG9pbnRzIGlu
CnRoZSBwcm9ncmFtLgoKVGhlIGZpcnN0IHR3byBjb21taXRzIGludHJvZHVjZSB0aGUgYmFzaWMg
aW5mcmFzdHJ1Y3R1cmUgdG8gdXNlIHRoZSBUU0EKYW5ub3RhdGlvbnMuIFRoZSBsYXN0IGNvbW1p
dCBlbmFibGVzIFRTQSBieSBkZWZhdWx0IGluIHRoZSBNYWtlZmlsZS4KQ29tbWl0cyBpbiBiZXR3
ZWVuIGFkZCB0aGUgbmV3IGFubm90YXRpb25zIHRvIHBhcnRpY3VsYXIgT3BlblNCSQpzdWJzeXN0
ZW1zLgoKVGhlIGdlbmVyYWwgcGF0dGVybiBpczoKKiBTdHJ1Y3QgZmllbGRzIGFyZSByZWFycmFu
Z2VkIHNvIHRoYXQgbG9ja3MgYXBwZWFyIGJlZm9yZSB0aGUKICBmaWVsZChzKSB0aGV5IHByb3Rl
Y3QuIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgY29tcGlsZXIgdG8gYmUgYWJsZSB0bwogIHBlcmZv
cm0gYW5hbHlzaXMuIFByb3RlY3RlZCBmaWVsZHMgYXJlIGFubm90YXRlZCB3aXRoIEdVQVJERURf
QlkoKSAvCiAgUFRfR1VBUkRFRF9CWSgpLgoqIEZ1bmN0aW9ucyB0aGF0IGFjY2VzcyBzcGlubG9j
ay1wcm90ZWN0ZWQgZmllbGRzIGFyZSBhbm5vdGF0ZWQgd3RoCiAgTVVTVF9IT0xEKCkuCiogRnVu
Y3Rpb25zIHRoYXQgYWNxdWlyZSBhIHNwaW5sb2NrLCBhbmQgd2hpY2ggbWF5IHBsYXVzaWJseSBi
ZSBjYWxsZWQKICB3aXRoIHRoYXQgc3BpbmxvY2sgaGVsZCwgYXJlIGFubm90YXRlZCB3aXRoIE1V
U1RfTk9UX0hPTEQoKSB0byBwcmV2ZW50CiAgcG90ZW50aWFsIGZ1dHVyZSBkZWFkbG9ja3MuCiog
SW5pdGlhbGl6ZXIgZnVuY3Rpb25zIGFuZCBvdGhlciBzcGVjaWFsIGNhc2VzIGFyZSBleGNsdWRl
ZCB2aWEKICBOT19USFJFQURfU0FGRVRZX0FOQUxZU0lTLgoKVGhpcyBzdWNjZXNzZnVsbHkgcmVz
dWx0cyBpbiBkZXRlY3RpbmcgaW5jb3JyZWN0IGxvY2tpbmcuIEZvciBleGFtcGxlLCB0aGUKZm9s
bG93aW5nIGNoYW5nZToKCmRpZmYgLS1naXQgYS9saWIvc2JpL3NiaV9maWZvLmMgYi9saWIvc2Jp
L3NiaV9maWZvLmMKaW5kZXggODhiODg4OGQyZTgxLi41MzQ4Yjc0NTJmNjQgMTAwNjQ0Ci0tLSBh
L2xpYi9zYmkvc2JpX2ZpZm8uYworKysgYi9saWIvc2JpL3NiaV9maWZvLmMKQEAgLTM3LDkgKzM3
LDcgQEAgdTE2IHNiaV9maWZvX2F2YWlsKHN0cnVjdCBzYmlfZmlmbyAqZmlmbykKICAgICAgICBp
ZiAoIWZpZm8pCiAgICAgICAgICAgICAgICByZXR1cm4gMDsKCi0gICAgICAgc3Bpbl9sb2NrKCZm
aWZvLT5xbG9jayk7CiAgICAgICAgcmV0ID0gZmlmby0+YXZhaWw7Ci0gICAgICAgc3Bpbl91bmxv
Y2soJmZpZm8tPnFsb2NrKTsKCiAgICAgICAgcmV0dXJuIHJldDsKIH0KClJlc3VsdHMgaW4gYSBi
dWlsZCBlcnJvcjoKCiAgbGliL3NiaS9zYmlfZmlmby5jOjQxOjE0OiBlcnJvcjogcmVhZGluZyB2
YXJpYWJsZSAnYXZhaWwnIHJlcXVpcmVzIGhvbGRpbmcgc3BpbmxvY2sgJyZzYmlfZmlmbzo6cWxv
Y2snIFstV2Vycm9yLC1XdGhyZWFkLXNhZmV0eS1hbmFseXNpc10KICAgNDEgfCAgICAgICAgIHJl
dCA9IGZpZm8tPmF2YWlsOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgogIDEgZXJyb3Ig
Z2VuZXJhdGVkLgoKVGVzdGVkIHdpdGggY2xhbmcgMTkuMS43IGFuZCAyMi4xLjguCgpbMF0gaHR0
cHM6Ly9jbGFuZy5sbHZtLm9yZy9kb2NzL1RocmVhZFNhZmV0eUFuYWx5c2lzLmh0bWwKCkNhcmxv
cyBMw7NwZXogKDE0KToKICBpbmNsdWRlOiBzYmk6IGFkZCB0aHJlYWQgc2FmZXR5IGFuYWx5c2lz
IG1hY3JvcwogIGxpYjogc2JpX2xvY2tzOiBhbm5vdGF0ZSBzcGlubG9jayBBUElzIGZvciBUU0EK
ICBsaWI6IHNiaV9maWZvOiBhZGQgVFNBIGFubm90YXRpb25zCiAgbGliOiBzYmlfaGVhcDogYWRk
IFRTQSBhbm5vdGF0aW9ucwogIGxpYjogc2JpX3NjcmF0Y2g6IGFkZCBUU0EgYW5ub3RhdGlvbnMK
ICBsaWI6IHJwbWk6IGFkZCBUU0EgYW5ub3RhdGlvbnMKICBsaWI6IHNiaV90aW1lcjogYWRkIFRT
QSBhbm5vdGF0aW9ucwogIGxpYjogaHRpZjogYWRkIFRTQSBhbm5vdGF0aW9ucwogIGxpYjogc2Jp
X2RvbWFpbjogYWRkIFRTQSBhbm5vdGF0aW9ucwogIGxpYjogc2JpX3NzZTogaW5saW5lIGVuYWJs
ZSBldmVudCBsb2NraW5nCiAgbGliOiBzYmlfc3NlOiBwYXNzIFNTRSBoYXJ0IHN0YXRlIGV4cGxp
Y2l0bHkKICBsaWI6IHNiaV9zc2U6IGFkZCBUU0EgYW5ub3RhdGlvbnMKICBsaWI6IHRlc3Q6IGRp
c2FibGUgVFNBIGZvciBzcGlubG9jayB0ZXN0cwogIE1ha2VmaWxlOiBlbmFibGUgVGhyZWFkIFNh
ZmV0eSBBbmFseXNpcwoKIE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICA3ICsrCiBpbmNsdWRlL3NiaS9yaXNjdl9sb2Nrcy5oICAgICAgICAgICAgICAgICAgfCAg
OCArLQogaW5jbHVkZS9zYmkvc2JpX2RvbWFpbi5oICAgICAgICAgICAgICAgICAgIHwgMTAgKyst
CiBpbmNsdWRlL3NiaS9zYmlfZmlmby5oICAgICAgICAgICAgICAgICAgICAgfCAgNiArLQogaW5j
bHVkZS9zYmkvc2JpX3Zpc2liaWxpdHkuaCAgICAgICAgICAgICAgIHwgMTcgKysrKysKIGxpYi9z
YmkvcmlzY3ZfbG9ja3MuYyAgICAgICAgICAgICAgICAgICAgICB8ICA0ICstCiBsaWIvc2JpL3Ni
aV9kb21haW4uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArCiBsaWIvc2JpL3NiaV9kb21h
aW5fY29udGV4dC5jICAgICAgICAgICAgICAgfCAgMiArCiBsaWIvc2JpL3NiaV9maWZvLmMgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAxMSArKy0KIGxpYi9zYmkvc2JpX2hlYXAuYyAgICAgICAg
ICAgICAgICAgICAgICAgICB8IDI1ICsrKy0tLQogbGliL3NiaS9zYmlfc2NyYXRjaC5jICAgICAg
ICAgICAgICAgICAgICAgIHwgIDMgKy0KIGxpYi9zYmkvc2JpX3NzZS5jICAgICAgICAgICAgICAg
ICAgICAgICAgICB8IDg5ICsrKysrKysrKystLS0tLS0tLS0tLS0KIGxpYi9zYmkvc2JpX3RpbWVy
LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICstCiBsaWIvc2JpL3Rlc3RzL3Jpc2N2X2xv
Y2tzX3Rlc3QuYyAgICAgICAgICAgfCAgMyArCiBsaWIvdXRpbHMvbWFpbGJveC9mZHRfbWFpbGJv
eF9ycG1pX3NobWVtLmMgfCAxNCArKy0tCiBsaWIvdXRpbHMvc3lzL2h0aWYuYyAgICAgICAgICAg
ICAgICAgICAgICAgfCAyOCArKysrLS0tCiAxNiBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9u
cygrKSwgOTUgZGVsZXRpb25zKC0pCgoKYmFzZS1jb21taXQ6IGMwZjg3ZjEwZDFiZmI5ZTcyYTg0
ZGRmYWZiNTYwNGVlMWJmZTlkMDQKLS0gCjIuNTEuMAoKCi0tIApvcGVuc2JpIG1haWxpbmcgbGlz
dApvcGVuc2JpQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv
bWFpbG1hbi9saXN0aW5mby9vcGVuc2JpCg==