Commit 2f82ec19 authored by Nicholas Piggin's avatar Nicholas Piggin Committed by Michael Ellerman
Browse files

powerpc/64: Bump SIGSTKSZ and MINSIGSTKSZ



The sad tale of SIGSTKSZ and MINSIGSTKSZ is documented in glibc.git
commit f7c399cff5bd ("PowerPC SIGSTKSZ"), which explains why glibc
does not use the kernel defines for these constants.

Since then in fact there has been a further expansion of the signal
stack frame size on little-endian with linux commit
573ebfa6 ("powerpc: Increase stack redzone for 64-bit userspace to
512 bytes"), which has caused it to exceed even the glibc defines.

See kernel commit 63dee5df ("powerpc: Allow 4224 bytes of stack
expansion for the signal frame") for more details of the history of the
expansion.

Increase MINSIGSTKSZ to 8192 which is double the current glibc value and
fits the current stack frame with room to grow. SIGSTKSZ is set to 4x
the minimum as convention.

glibc will have to be updated as well.

Reviewed-by: default avatarTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220307182734.289289-1-npiggin@gmail.com
parent 4406b122
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -62,8 +62,13 @@ typedef struct {

#define SA_RESTORER	0x04000000U

#ifdef __powerpc64__
#define MINSIGSTKSZ	8192
#define SIGSTKSZ	32768
#else
#define MINSIGSTKSZ	2048
#define SIGSTKSZ	8192
#endif

#include <asm-generic/signal-defs.h>