diff mbox series

[1/2] powerpc/64: Bump SIGSTKSZ and MINSIGSTKSZ

Message ID 20220307182734.289289-1-npiggin@gmail.com (mailing list archive)
State Accepted
Headers show
Series [1/2] powerpc/64: Bump SIGSTKSZ and MINSIGSTKSZ | expand

Commit Message

Nicholas Piggin March 7, 2022, 6:27 p.m. UTC
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 573ebfa6601f ("powerpc: Increase
stack redzone for 64-bit userspace to 512 bytes"), which has caused
it to exceed even the glibc defines.

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.

Cc: Alan Modra <amodra@gmail.com>
Cc: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
 arch/powerpc/include/uapi/asm/signal.h | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Michael Ellerman May 24, 2022, 11:08 a.m. UTC | #1
On Tue, 8 Mar 2022 04:27:33 +1000, Nicholas Piggin wrote:
> 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 573ebfa6601f ("powerpc: Increase
> stack redzone for 64-bit userspace to 512 bytes"), which has caused
> it to exceed even the glibc defines.
> 
> [...]

Applied to powerpc/next.

[1/2] powerpc/64: Bump SIGSTKSZ and MINSIGSTKSZ
      https://git.kernel.org/powerpc/c/2f82ec19757f58549467db568c56e7dfff8af283
[2/2] powerpc/signal: Report minimum signal frame size to userspace via AT_MINSIGSTKSZ
      https://git.kernel.org/powerpc/c/2896b2dff49d0377e4372f470dcddbcb26f2be59

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/include/uapi/asm/signal.h b/arch/powerpc/include/uapi/asm/signal.h
index 04873dd311c2..81fa9d90be80 100644
--- a/arch/powerpc/include/uapi/asm/signal.h
+++ b/arch/powerpc/include/uapi/asm/signal.h
@@ -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>