[compiler-rt] 10f29a6 - [MSan] Fix wrong unpoison size in SignalAction (#144071)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 17 23:53:37 PDT 2025
Author: Kunqiu Chen
Date: 2025-06-18T14:53:33+08:00
New Revision: 10f29a607205c0c17ee9249a66feb63f0fdae182
URL: https://github.com/llvm/llvm-project/commit/10f29a607205c0c17ee9249a66feb63f0fdae182
DIFF: https://github.com/llvm/llvm-project/commit/10f29a607205c0c17ee9249a66feb63f0fdae182.diff
LOG: [MSan] Fix wrong unpoison size in SignalAction (#144071)
MSan should unpoison the parameters of extended signal handlers.
However, MSan unpoisoned the second parameter with the wrong size
`sizeof(__sanitizer_sigaction)`, inconsistent with its real type
`siginfo_t`.
This commit fixes this issue by correcting the size to
`sizeof(__sanitizer_siginfo)`.
Added:
Modified:
compiler-rt/lib/msan/msan_interceptors.cpp
Removed:
################################################################################
diff --git a/compiler-rt/lib/msan/msan_interceptors.cpp b/compiler-rt/lib/msan/msan_interceptors.cpp
index 76255cdb742a3..f94d3cb79aa00 100644
--- a/compiler-rt/lib/msan/msan_interceptors.cpp
+++ b/compiler-rt/lib/msan/msan_interceptors.cpp
@@ -1127,7 +1127,7 @@ static void SignalAction(int signo, void *si, void *uc) {
SignalHandlerScope signal_handler_scope;
ScopedThreadLocalStateBackup stlsb;
UnpoisonParam(3);
- __msan_unpoison(si, sizeof(__sanitizer_sigaction));
+ __msan_unpoison(si, sizeof(__sanitizer_siginfo));
__msan_unpoison(uc, ucontext_t_sz(uc));
typedef void (*sigaction_cb)(int, void *, void *);
More information about the llvm-commits
mailing list