llvm
6a495e33 - [XPTI] Fix data races in tracepoint lookup and deletion (#21874)

Commit
25 days ago
[XPTI] Fix data races in tracepoint lookup and deletion (#21874) Several functions in the Tracepoints class accessed MUID64Check and dereferenced tracepoint pointers without holding MTracepointMutex, allowing use-after-free when concurrent threads perform lookups (xptiLookupEvent) and deletions (xptiDeleteTracepoint). Fixes: - lookupEventData: acquire shared lock before MUID64Check access - releaseEvent: acquire exclusive lock before MUID64Check access (was only locked for the erase/delete, not the preceding check) - isValidUID64: acquire shared lock before MUID64Check access - deleteTracepoint: move TP->MUId read inside the exclusive lock - findEvent, queryPayloadByUID, lookupPayload: move into implemenation into new thread-safe Tracepoints methods
Author
Parents
Loading