From patchwork Wed May 24 16:27:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 98619 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp45867vqr; Wed, 24 May 2023 09:51:50 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7Uhz+SDCVDBDIo58EJpGEd2cTaiTibpnvGRZShDM+qtQP7VPbN/Xv8cz0pJbDY7+Qi2+kd X-Received: by 2002:a05:6a20:b70a:b0:101:1951:d491 with SMTP id fg10-20020a056a20b70a00b001011951d491mr15088410pzb.6.1684947110203; Wed, 24 May 2023 09:51:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1684947110; cv=none; d=google.com; s=arc-20160816; b=DNn/WyQtdheBQAhm0yqTLMVuUBCsPCkmmxpFYRF8ek0gPGRYuS4Xdcc/oJwNbfo9i1 F3Mp7hSvdW5s5YnwnStGwMAm/XKAB1M/uI31rrF+KI8C1UtCVazyWGbIIk7Cmbt0OvxX mU5sKuyEoadSEjfU81iP4Rb7LcUvd1nuUYRGFYJy9v/AzeaggUDE3ZkJP4HV/beh7kJJ N+0qGtJWlNrqxLVAgmzYnpMbi3BPvQR4AZV+6gpi93OXN8KqrhYWgbWIou7Hk/TIA+af Hp2amwYvQRH0ciWHbbjx8sq8nP+5riU6cyPYUMkrH/fmzcgozdH/+by7uxzZY8jW9gyH TPrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:message-id:content-transfer-encoding :mime-version:subject:date:dkim-signature:from; bh=CsuMfY20KUZYX8wSzrWS2txd3qDM8MNEneUhQ3VenDU=; b=gdvDg2R5x1M33HmMKcVbR67hnK1cr+ToWuPZShRwP8iCHQSi3ePue9hauFxzJ2vkxd Aab9tYGQhaRuf47SLkvz/IMq8gKkjI4raHOdYKpMxhoDnS+0nhf6vgeh+duSfhFuQOr0 ZzeJzNvw1OyJ05HwfPE0t3FkvJ3UYBfZdvTsUBD/2CBUY837Lx4EDKpiWuTCHz/u+IvR 1IAgIQO23/M0t2cbBEQwKHWH6VDwI40zsmVUsxasMiEqOL65i8+8fCYkhcaL18tPruQy G8tahRV5NRI2W7sCCYqqiEYd92qYy21s5028GG0bkloqcaET2jjfB7MBfRH2q/nwvT24 yQSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=Yie6dcFb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l72-20020a63914b000000b0053f2127275csi43764pge.279.2023.05.24.09.51.36; Wed, 24 May 2023 09:51:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@weissschuh.net header.s=mail header.b=Yie6dcFb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232630AbjEXQ1Q (ORCPT + 99 others); Wed, 24 May 2023 12:27:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231494AbjEXQ1P (ORCPT ); Wed, 24 May 2023 12:27:15 -0400 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC30FD3 for ; Wed, 24 May 2023 09:27:13 -0700 (PDT) From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1684945631; bh=+yjURdh4Gw0iv1zcKNP9yQwERjDy1N0llqhBN14GwCE=; h=From:Date:Subject:To:Cc:From; b=Yie6dcFb92zaoqR5XDD15VqsLdK+8pEe7mvg4HqAGcxB1BKqaRzh9pV0FxGhd1lHn qosPbKhnDAjE9+XQf5m90Xq8b/zXztc19zxbeqlDOyzLnjgtK2N5xTtTYVhkDl11wK bCNPkwbjKqInt0NmmbIodNe5pkvzdLQWTW5M5ITI= Date: Wed, 24 May 2023 18:27:06 +0200 Subject: [PATCH] tools/nolibc: s390: disable stackprotector in _start MIME-Version: 1.0 Message-Id: <20230524-nolibc-stackprotector-s390-v1-1-5044d42230cc@weissschuh.net> X-B4-Tracking: v=1; b=H4sIANk6bmQC/x2NQQrCMBAAv1L27ELaWqV+RXpI1o1dDEnZjSKU/ t3gceYws4OxChvcuh2UP2JScoP+1AGtPj8Z5dEYBjeMbhrOmEuSQGjV02vTUplqUbRxdugCTdT P1xgvEVogeGMM6jOtLZHfKTW5KUf5/o/35Th+XSJ/1YEAAAA= To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1684945631; l=1601; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=+yjURdh4Gw0iv1zcKNP9yQwERjDy1N0llqhBN14GwCE=; b=dXurvyihFtDs0PtghqpB8PY+aMcTnNDj5C1pt/iKH7qecQaqDHFm+TC2ACbpZ1tmcFFZliG+M 0qj+FFuBbiSDixGLGivgKWmJcRgM0IQZThrOLz1dE5Vy2GBNArxwuSL X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1766795101086190586?= X-GMAIL-MSGID: =?utf-8?q?1766795101086190586?= s390 does not support the "global" stack protector mode that is implemented in nolibc. Now that nolibc detects if stack protectors are enabled at runtime it could happen that a future compiler does indeed use global mode on and nolibc would compile but segfault at runtime. To avoid this hypothetic case and to align s390 with the other architectures disable stack protectors when compiling _start(). Signed-off-by: Thomas Weißschuh --- tools/include/nolibc/arch-s390.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- base-commit: d5d0994c2f3cae2d2bdc04b98c6212e72efe0509 change-id: 20230524-nolibc-stackprotector-s390-0bc5c197ff6f Best regards, diff --git a/tools/include/nolibc/arch-s390.h b/tools/include/nolibc/arch-s390.h index a738e7f3f8e8..516dff5bff8b 100644 --- a/tools/include/nolibc/arch-s390.h +++ b/tools/include/nolibc/arch-s390.h @@ -8,6 +8,8 @@ #include #include +#include "compiler.h" + /* The struct returned by the stat() syscall, equivalent to stat64(). The * syscall returns 116 bytes and stops in the middle of __unused. */ @@ -164,7 +166,7 @@ char **environ __attribute__((weak)); const unsigned long *_auxv __attribute__((weak)); /* startup code */ -void __attribute__((weak,noreturn,optimize("omit-frame-pointer"))) _start(void) +void __attribute__((weak,noreturn,optimize("omit-frame-pointer"))) __no_stack_protector _start(void) { __asm__ volatile ( "lg %r2,0(%r15)\n" /* argument count */