Messages in this thread | | | From | Willy Tarreau <> | Subject | [PATCH 0/3] nolibc fixes marked for -stable | Date | Sun, 24 Oct 2021 19:28:13 +0200 |
| |
Hi Paul,
here are a few fixes for nolibc. Ammar Faizi figured that the stack was not properly aligned on x86_64, it was aligned for after the call instead of before due to my misunderstanding of the spec. This made me check i386 and I got it wrong there as well. Others are OK as they do not push but switch pointers on a call. The problem is essentially detected when using SIMD instructions (either voluntarily or when the compiler does it on its own).
A second (less important) issue is that I thought that it was up to the userland code to truncate the code passed to exit() to 8 bits while it's the kernel that does it. The difference is subtle but is visible in strace, and this was reported by Ammar as well. This time it affected all supported archs.
This series is based on 5.15-rc6. I marked them for backport to stable, just in case anyone uses nolibc for bisecting bugs.
Thanks! Willy
Ammar Faizi (1): tools/nolibc: x86-64: Fix startup code bug
Willy Tarreau (2): tools/nolibc: i386: fix initial stack alignment tools/nolibc: fix incorrect truncation of exit code
tools/include/nolibc/nolibc.h | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-)
-- 2.17.5
| |