diff options
author | Thurston Dang <thurston@google.com> | 2024-07-11 08:26:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-11 08:26:04 -0700 |
commit | fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d (patch) | |
tree | 7d1d4d230f885cf7ad29eae49e92438ff68e7f77 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | bbb90feb8742b4a83c4bbfbbbdf0f9735939d184 (diff) | |
download | llvm-fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d.zip llvm-fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d.tar.gz llvm-fff8b3236ab8ce8f99ea83a4de7c0e88687fc09d.tar.bz2 |
[msan] Block signals during MsanThread::TSDDtor (#98405)
MSan may segfault inside a signal handler, if MSan instrumentation is
trying to access thread-local storage that has already been destroyed.
This fixes the issue by blocking asychronous signals inside
MsanThread::TSDDtor. This is based on an idea suggested by Paul
Pluzhnikov (block async signals in MsanThread::Destroy()) and refined by
Vitaly Buka.
Note: ed8565cf0b64ea5e88cc94f321b1870bb105d09d changed *BlockSignals to
only block asynchronous signals, despite the name.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions