[llvm-branch-commits] [compiler-rt] [SafeStack] Swap unsafe stack for signal handlers (PR #196971)
Jakob Koschel via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Jun 12 02:59:32 PDT 2026
https://github.com/jakos-sec updated https://github.com/llvm/llvm-project/pull/196971
>From 33972d3c138680293a833c4c4d5a510f6ff1aed4 Mon Sep 17 00:00:00 2001
From: Jakob Koschel <jakobkoschel at google.com>
Date: Mon, 11 May 2026 15:58:56 +0000
Subject: [PATCH 1/2] fix clang-format
Created using spr 1.3.7
---
compiler-rt/test/safestack/sigaltstack.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/compiler-rt/test/safestack/sigaltstack.c b/compiler-rt/test/safestack/sigaltstack.c
index e8040e5f7de8c..4e2879b256918 100644
--- a/compiler-rt/test/safestack/sigaltstack.c
+++ b/compiler-rt/test/safestack/sigaltstack.c
@@ -35,7 +35,7 @@ void signal_sigalt_handler(int signo) {
__get_unsafe_stack_ptr() >= __get_unsafe_sigalt_stack_bottom());
} else {
assert(__get_unsafe_stack_ptr() <= __get_unsafe_stack_top() &&
- __get_unsafe_stack_ptr() >= __get_unsafe_stack_bottom());
+ __get_unsafe_stack_ptr() >= __get_unsafe_stack_bottom());
}
}
@@ -52,7 +52,7 @@ void signal_sigalt_sigaction(int signo, siginfo_t *si, void *uc) {
__get_unsafe_stack_ptr() >= __get_unsafe_sigalt_stack_bottom());
} else {
assert(__get_unsafe_stack_ptr() <= __get_unsafe_stack_top() &&
- __get_unsafe_stack_ptr() >= __get_unsafe_stack_bottom());
+ __get_unsafe_stack_ptr() >= __get_unsafe_stack_bottom());
}
}
>From bad2574194a85e9047dbdfd0ff00121ef0f37abf Mon Sep 17 00:00:00 2001
From: Jakob Koschel <jakobkoschel at google.com>
Date: Fri, 12 Jun 2026 09:59:18 +0000
Subject: [PATCH 2/2] Fix typo in sigaltstack test
Created using spr 1.3.7
---
compiler-rt/test/safestack/sigaltstack.c | 32 ++++++++++++------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/compiler-rt/test/safestack/sigaltstack.c b/compiler-rt/test/safestack/sigaltstack.c
index 92630490e95fb..d563fe52371af 100644
--- a/compiler-rt/test/safestack/sigaltstack.c
+++ b/compiler-rt/test/safestack/sigaltstack.c
@@ -31,15 +31,15 @@ void signal_handler(int signo) {
void signal_sigalt_handler(int signo) {
signal_handlers_called += 1;
if (sigaltstack_called) {
- assert(__sigaltstack_get_unsafe_stack_ptr() <=
- __sigaltstack_get_unsafe_sigalt_stack_top() &&
- __sigaltstack_get_unsafe_stack_ptr() >=
- __sigaltstack_get_unsafe_sigalt_stack_bottom());
+ assert(__safestack_get_unsafe_stack_ptr() <=
+ __safestack_get_unsafe_sigalt_stack_top() &&
+ __safestack_get_unsafe_stack_ptr() >=
+ __safestack_get_unsafe_sigalt_stack_bottom());
} else {
- assert(__sigaltstack_get_unsafe_stack_ptr() <=
- __sigaltstack_get_unsafe_stack_top() &&
- __sigaltstack_get_unsafe_stack_ptr() >=
- __sigaltstack_get_unsafe_stack_bottom());
+ assert(__safestack_get_unsafe_stack_ptr() <=
+ __safestack_get_unsafe_stack_top() &&
+ __safestack_get_unsafe_stack_ptr() >=
+ __safestack_get_unsafe_stack_bottom());
}
}
@@ -54,15 +54,15 @@ void signal_sigaction(int signo, siginfo_t *si, void *uc) {
void signal_sigalt_sigaction(int signo, siginfo_t *si, void *uc) {
signal_handlers_called += 1;
if (sigaltstack_called) {
- assert(__sigaltstack_get_unsafe_stack_ptr() <=
- __sigaltstack_get_unsafe_sigalt_stack_top() &&
- __sigaltstack_get_unsafe_stack_ptr() >=
- __sigaltstack_get_unsafe_sigalt_stack_bottom());
+ assert(__safestack_get_unsafe_stack_ptr() <=
+ __safestack_get_unsafe_sigalt_stack_top() &&
+ __safestack_get_unsafe_stack_ptr() >=
+ __safestack_get_unsafe_sigalt_stack_bottom());
} else {
- assert(__sigaltstack_get_unsafe_stack_ptr() <=
- __sigaltstack_get_unsafe_stack_top() &&
- __sigaltstack_get_unsafe_stack_ptr() >=
- __sigaltstack_get_unsafe_stack_bottom());
+ assert(__safestack_get_unsafe_stack_ptr() <=
+ __safestack_get_unsafe_stack_top() &&
+ __safestack_get_unsafe_stack_ptr() >=
+ __safestack_get_unsafe_stack_bottom());
}
}
More information about the llvm-branch-commits
mailing list