From 394e416d2bb9077adfc27e37fb26839a962c73b0 Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 29 Aug 2024 23:14:40 -0300 Subject: [PATCH] signal: change stack alignment --- kernel-src/sys/signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel-src/sys/signal.c b/kernel-src/sys/signal.c index 05225161..ceb37e39 100644 --- a/kernel-src/sys/signal.c +++ b/kernel-src/sys/signal.c @@ -361,7 +361,7 @@ bool signal_check(struct thread_t *thread, context_t *context, bool syscall, uin // get where in memory to put the frame void *stack = altstack ? altstack : (void *)CTX_SP(context); #if ARCH_SIGNAL_STACK_GROWS_DOWNWARDS == 1 - stack = (void *)(((uintptr_t)stack - ARCH_SIGNAL_REDZONE_SIZE - sizeof(sigframe_t)) & ~0xfl); + stack = (void *)((((uintptr_t)stack - ARCH_SIGNAL_REDZONE_SIZE - sizeof(sigframe_t)) & ~0xfl) - 0x8); #else #error unsupported #endif