From patchwork Wed Dec 15 23:05:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aurelien Jarno X-Patchwork-Id: 48993 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 468ED3857C53 for ; Wed, 15 Dec 2021 23:06:45 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from hall.aurel32.net (hall.aurel32.net [IPv6:2001:bc8:30d7:100::1]) by sourceware.org (Postfix) with ESMTPS id 4AE56385800E for ; Wed, 15 Dec 2021 23:06:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4AE56385800E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=aurel32.net Authentication-Results: sourceware.org; spf=none smtp.mailfrom=aurel32.net DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date: Subject:Cc:To:From:Content-Type:From:Reply-To:Subject:Content-ID: Content-Description:In-Reply-To:References:X-Debbugs-Cc; bh=bAs+6DuouftuI0LcymUIxAJsJ7kPf28Uc1qsPTFvaTU=; b=ak7820OzYhgiwYE1nigApFysW4 RT7GDL/c71pStcChVsHZ/eN2Qfyj41t9G6LtQQYx56cEYR6d9kQCt03VzMOV5JO8YuGk9gyxlqwEw sYfoAYRWujJyIN8k8uiU30bbMB8+VO0f6aI5q+csBwjDQIaSkwnIWn52QZDwGtwK04sPUCm9SDaxC wrMcqeglXgvK1MqNJ4ef8OiVvsz6AJ/mPh2yb7igneNDLPTlIfVbm/1WvFPA87VO2qrRm61n1RMKQ /QXQ+PqqZc1fhhwOAOdivgPvqR4bjAzSUIrl26Wk81gTTCkf5fMmbiqdnDGDy5zOueDNlyrBdblFa DgRPMRCQ==; Received: from [2a01:e34:ec5d:a741:8a4c:7c4e:dc4c:1787] (helo=ohm.rr44.fr) by hall.aurel32.net with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxdLr-0007mG-AK; Thu, 16 Dec 2021 00:06:23 +0100 Received: from aurel32 by ohm.rr44.fr with local (Exim 4.95) (envelope-from ) id 1mxdLp-001omm-Ai; Thu, 16 Dec 2021 00:06:21 +0100 From: Aurelien Jarno To: libc-alpha@sourceware.org Subject: [PATCH] riscv: align stack in clone [BZ #28702] Date: Thu, 16 Dec 2021 00:05:37 +0100 Message-Id: <20211215230537.433533-1-aurelien@aurel32.net> X-Mailer: git-send-email 2.33.0 MIME-Version: 1.0 X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Aurelien Jarno , Andrew Waterman Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" The RISC-V ABI [1] mandates that "the stack pointer shall be aligned to a 128-bit boundary upon procedure entry". This as not the case in clone. This fixes the misc/tst-misalign-clone-internal and misc/tst-misalign-clone tests. Fixes bug 28702. [1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc --- sysdeps/unix/sysv/linux/riscv/clone.S | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sysdeps/unix/sysv/linux/riscv/clone.S b/sysdeps/unix/sysv/linux/riscv/clone.S index 12f91a20d3..161e83c7e3 100644 --- a/sysdeps/unix/sysv/linux/riscv/clone.S +++ b/sysdeps/unix/sysv/linux/riscv/clone.S @@ -32,6 +32,9 @@ .text LEAF (__clone) + /* Align stack to a 128-bit boundary as per RISC-V ABI. */ + andi a1,a1,ALMASK + /* Sanity check arguments. */ beqz a0,L (invalid) /* No NULL function pointers. */ beqz a1,L (invalid) /* No NULL stack pointers. */