glibc/sysdeps
Michael Karcher faeaa3bc9f
Mitigation for "clone on sparc might fail with -EFAULT for no valid reason" (bz 31394)
It seems the kernel can not deal with uncommitted stack space in the area intended
for the register window when executing the clone() system call. So create a nested
frame (proxy for the kernel frame) and flush it from the processor to memory to
force committing pages to the stack before invoking the system call.

Bug: https://www.mail-archive.com/debian-glibc@lists.debian.org/msg62592.html
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31394
See-also: https://lore.kernel.org/sparclinux/62f9be9d-a086-4134-9a9f-5df8822708af@mkarcher.dialup.fu-berlin.de/
Signed-off-by: Michael Karcher <sourceware-bugzilla@mkarcher.dialup.fu-berlin.de>
Reviewed-by: DJ Delorie <dj@redhat.com>
2024-07-29 23:00:39 +02:00
..
aarch64 aarch64: Regenerate ULPs 2024-07-25 10:41:30 -03:00
alpha math: Update alpha ulps 2024-07-14 12:44:15 +02:00
arc Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
arm arm: Regenerate ULPs 2024-07-25 10:41:34 -03:00
csky elf: Remove HWCAP_IMPORTANT 2024-06-18 10:45:36 +02:00
generic elf: Support recursive use of dynamic TLS in interposed malloc 2024-07-01 19:02:11 +02:00
gnu login: Use unsigned 32-bit types for seconds-since-epoch 2024-04-19 14:38:17 +02:00
hppa hppa: Update libm-test-ulps 2024-07-24 16:43:01 -04:00
htl Add pthread_getname_np and pthread_setname_np for Hurd 2024-07-16 09:21:52 +02:00
hurd hurd: Move internal functions to internal header 2024-03-23 22:43:07 +01:00
i386 i386: Regenerate ULPs 2024-07-25 10:49:06 -03:00
ieee754 Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
loongarch Revert "LoongArch: Add cfi instructions for _dl_tlsdesc_dynamic" 2024-07-17 15:24:51 +02:00
m68k math: Update m68k ULPs 2024-07-08 21:51:03 +02:00
mach htl: Fix __pthread_init_thread declaration and definition 2024-07-17 15:04:25 +02:00
microblaze Implement C23 logp1 2024-06-17 13:47:09 +00:00
mips MIPS: Regenerate ulps 2024-07-27 16:55:38 +02:00
nios2 Convert to autoconf 2.72 (vanilla release, no distribution patches) 2024-06-17 21:15:28 +02:00
nptl Linux: Make __rseq_size useful for feature detection (bug 31965) 2024-07-09 19:33:37 +02:00
or1k Implement C23 logp1 2024-06-17 13:47:09 +00:00
posix posix: Sync tempname with gnulib 2024-04-10 14:53:39 -03:00
powerpc powerpc: Regenerate ULPs for soft-fp 2024-07-25 10:33:40 -03:00
pthread nptl: Use <support/check.h> facilities in tst-setuid3 2024-07-26 13:21:34 +01:00
riscv riscv: Update ulps 2024-07-25 10:28:44 -03:00
s390 s390x: Regenerate ULPs. 2024-07-25 14:14:22 +02:00
sh Implement C23 logp1 2024-06-17 13:47:09 +00:00
sparc sparc: Regenerate ULPs 2024-07-25 11:06:53 -03:00
unix Mitigation for "clone on sparc might fail with -EFAULT for no valid reason" (bz 31394) 2024-07-29 23:00:39 +02:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
wordsize-64 Update copyright dates with scripts/update-copyrights 2024-01-01 10:53:40 -08:00
x86 x86: Disable non-temporal memset on Skylake Server 2024-07-16 17:20:18 +08:00
x86_64 x86-64: Remove sysdeps/x86_64/x32/dl-machine.h 2024-07-25 00:17:21 -07:00