From: Szabolcs Nagy Date: Tue, 1 Jun 2021 08:23:40 +0000 (+0100) Subject: aarch64: align stack in clone [BZ #27939] X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d251ad533e4eeaef6e5064b0212f36a3853f18bf;p=thirdparty%2Fglibc.git aarch64: align stack in clone [BZ #27939] The AArch64 PCS requires 16 byte aligned stack. Previously if the caller passed an unaligned stack to clone then the child crashed. Fixes bug 27939. (cherry picked from commit 3842ba494963b1d76ad5f68b8d1e5c2279160e31) --- diff --git a/sysdeps/unix/sysv/linux/aarch64/clone.S b/sysdeps/unix/sysv/linux/aarch64/clone.S index c9e63bae485..fe04bce6b67 100644 --- a/sysdeps/unix/sysv/linux/aarch64/clone.S +++ b/sysdeps/unix/sysv/linux/aarch64/clone.S @@ -47,6 +47,8 @@ ENTRY(__clone) /* Sanity check args. */ mov x0, #-EINVAL cbz x10, .Lsyscall_error + /* Align sp. */ + and x1, x1, -16 cbz x1, .Lsyscall_error /* Do the system call. */