From 3842ba494963b1d76ad5f68b8d1e5c2279160e31 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 1 Jun 2021 09:23:40 +0100 Subject: 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. --- sysdeps/unix/sysv/linux/aarch64/clone.S | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/aarch64/clone.S b/sysdeps/unix/sysv/linux/aarch64/clone.S index c9e63bae48..fe04bce6b6 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. */ -- cgit 1.4.1