From d251ad533e4eeaef6e5064b0212f36a3853f18bf Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 1 Jun 2021 09:23:40 +0100 Subject: [PATCH] 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) --- sysdeps/unix/sysv/linux/aarch64/clone.S | 2 ++ 1 file changed, 2 insertions(+) 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. */ -- 2.47.2