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
573ebfa660 ("powerpc: Increase stack redzone for 64-bit userspace to
512 bytes"), which has caused it to exceed even the glibc defines.

See kernel commit 63dee5df43 ("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: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220307182734.289289-1-npiggin@gmail.com
This commit is contained in:
Nicholas Piggin 2022-03-08 04:27:33 +10:00 committed by Michael Ellerman
parent 4406b12214
commit 2f82ec1975

View file

@ -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>