]> sourceware.org Git - glibc.git/commit
Mitigation for "clone on sparc might fail with -EFAULT for no valid reason" (bz 31394)
authorMichael Karcher <Michael.Karcher@fu-berlin.de>
Sun, 28 Jul 2024 13:30:57 +0000 (15:30 +0200)
committerAndreas K. Hüttel <dilfridge@gentoo.org>
Mon, 29 Jul 2024 21:00:39 +0000 (23:00 +0200)
commitfaeaa3bc9f76030b9882ccfdee232fc0ca6dcb06
tree8a57f4fb28d26893b20aa6ae31dea95006a69983
parentaedbf08891069fc029ed021e4dba933eb877b394
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>
sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
This page took 0.041957 seconds and 5 git commands to generate.