From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80051.outbound.protection.outlook.com [40.107.8.51]) by sourceware.org (Postfix) with ESMTPS id 0A8EB3850418 for ; Thu, 21 Jan 2021 10:44:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0A8EB3850418 Received: from AM6P194CA0080.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::21) by DBAPR08MB5863.eurprd08.prod.outlook.com (2603:10a6:10:1a1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.12; Thu, 21 Jan 2021 10:44:36 +0000 Received: from AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8f:cafe::b4) by AM6P194CA0080.outlook.office365.com (2603:10a6:209:8f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Thu, 21 Jan 2021 10:44:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT014.mail.protection.outlook.com (10.152.16.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.11 via Frontend Transport; Thu, 21 Jan 2021 10:44:36 +0000 Received: ("Tessian outbound e989e14f9207:v71"); Thu, 21 Jan 2021 10:44:36 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 426ca39a9ac22bb5 X-CR-MTA-TID: 64aa7808 Received: from 2d21c8db9c67.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8DD2FB6D-4499-414A-9A4C-2834420D29A1.1; Thu, 21 Jan 2021 10:44:27 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d21c8db9c67.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 21 Jan 2021 10:44:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ONd4CkZs68R8NI8MXYYCowHEIrsKGSbLsPxakMeH+1rMgeAfYFKGmcTVUwe2O+YRl1G00ohy2tbbkXE5bFckw60yyjHwL7vvGMj1Dg4BHd9ACr2XWHqzmHutZnLq+QhQOGATV1B285g8nKIuC9VGqkzYFUTp0PWlJmISIbmoouTWjgWPenQ4kD3Sm91nOUMzoMfQuHcx+2vrTWkBgQ7ObfmDdWjY5tyaqCfETTqwQooyqse2DqtDlDav7BYrYWv6g6Ktbf/HoHy8wzjCftsmjRCs9CTm/a3NEvuN3YFu4s9nwNQkqK+mk35qpu56x+cDwSOXl8M7Bu/qVtHdUq2ggQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uTEOB9OyJFLB6Oe8GKz979oHvtescLJuZv8oID0IWDY=; b=m9A4iO+6kbfX1ZWcGUnOP/5zcpybVv0I7WhOJJwJgLaJrQwX3bVqiq3VDOgCOZxWY0TbYF8lOf2OVFU0wFiT9V+eVlWUIj1OpY0HE5F5jCJprfw+KhWLGlTpJw2dAGqNFgwU1XRfpKnYFYsurVUzZbCDWiN7Ou0S2FBr/GLUMeYtG05lAgboB5nnCCNy74T0vQlX/dcEKQPgIvW9ngIixZZCw/B+6oJkM5aTpQstn/Fk5dJPaTwb0PVJaasow3FUcJqlhytPK3Of430q7tf90D0oobxiNv4j23wKMm9qF4dg/e9Pg2O1a5ygXAKNX5UlGfYpOrrUJIhC4KB1PU/gBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) by PR3PR08MB5753.eurprd08.prod.outlook.com (2603:10a6:102:87::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.10; Thu, 21 Jan 2021 10:44:25 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::700f:ddbe:a347:ee4f%7]) with mapi id 15.20.3763.014; Thu, 21 Jan 2021 10:44:25 +0000 From: Szabolcs Nagy To: libc-stable@sourceware.org Subject: [2.32 COMMITTED 1/5] aarch64: Fix missing BTI protection from dependencies [BZ #26926] Date: Thu, 21 Jan 2021 10:44:13 +0000 Message-Id: <20210121104413.21189-1-szabolcs.nagy@arm.com> X-Mailer: git-send-email 2.17.1 Content-Type: text/plain X-Originating-IP: [217.140.106.55] X-ClientProxiedBy: SA9PR11CA0012.namprd11.prod.outlook.com (2603:10b6:806:6e::17) To PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost.localdomain (217.140.106.55) by SA9PR11CA0012.namprd11.prod.outlook.com (2603:10b6:806:6e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3784.14 via Frontend Transport; Thu, 21 Jan 2021 10:44:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: e69a2132-0c65-4ff9-1342-08d8bdf98bd0 X-MS-TrafficTypeDiagnostic: PR3PR08MB5753:|DBAPR08MB5863: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:983;OLM:983; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 8V19wsvNX3STkbPsUuLUNfD1v4yL793sQVPvTiMILiair059CPAlrh8csFio5xPo0HCnM/ObbpzJLoz/WUG0U0Ob8ZaRo9Za9bv5NjJJRR0LxJGbzCRwxZDEdBjcpTmD4C64OaxI2iOsVOseUhw9jJQ6orB5zQkuRStJWqDITEm4QATBmBpdZr4t9vLlRrYitE1Q9+4T8Vk37CJK8fK242RsPXQwmnL5tRNy+brwrvmvxoSeVUWYrH52/6vYdTXvAd/rRvHiMkrd+VGnpyLcFk13JVl9I9uVkHcbb6q76dTbOANLrbDQzocYM6LHh08p+lkNTRETvj0L4EXTMwU+uJ1THCPPPz84GoyGeU3tf962SKWju4a9c8kr5rby/UbHz10jDBVQvN2O/zX4NtGXtnltSpMRn9nrz7jekDWIgaBv60xtLcypoNp84E9r4xWMrSkSX1K9788Y4GXibUTFIuMc38iSrEgvB4M9CMmK8E5cxURTSwxrBLaw/Cznq3HhVYMzl4jnqdXc8UHbWcX4Zu1xCt313WpzJn+rAWpLy5uXkarlYjXnpI9AV0NhqfoCOPzFUUrNDyM3kP4VfQinXw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6320.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(39860400002)(366004)(376002)(346002)(136003)(69590400011)(1076003)(5660300002)(6506007)(44832011)(478600001)(6512007)(66946007)(36756003)(26005)(6916009)(66476007)(86362001)(956004)(186003)(52116002)(316002)(16526019)(2616005)(6666004)(8936002)(2906002)(8676002)(83380400001)(66556008)(6486002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?d6cWFZIhVpQ1U5rW/b6JX41v6cWJ9KfNfQs2ztCUmHi2GjcPceVc8+Txj9ux?= =?us-ascii?Q?L0vNSjWXpWY9sStqNEY/JecuxUfqABqbqvhHL6r+oFc9J+VrU2k59flZ1bII?= =?us-ascii?Q?JV1HC8ureiIMH3pPiDhkgS1yu8UdXM/piWe2ZyagTNGXjxa3ojzC0c9oGmi0?= =?us-ascii?Q?1w9wp/XqbWgowZmae7CJpWfUlmhu+JOM/dA+viQFpn+QzJnC9yfL6mNaoKU/?= =?us-ascii?Q?1QZHMcfiQsgsTOVR0VACSZfnrOH3dx9o8G1mQ+y6PSIWjLD4PrC0o8BQR7zA?= =?us-ascii?Q?HS4Ns9DaEiNLYNNR6vj1vGkbbBtDEG8ntet1hvYwE92F/hdTboZTu8+WPfuB?= =?us-ascii?Q?GcDWg1RaY3oREMoD36NQUYQPDs/Ekjpb9sTfNs84bsRWnPhirHPgPqDu4C/+?= =?us-ascii?Q?NqhhlF7W/uS1aVZHDBqnDNby1io0+b7eLrXaKy4sUf0mz5SDMjVBrnlK31Ul?= =?us-ascii?Q?J8sM0NqwAVkDMxYyDBK2H5rzcRqtVGvJ2qfIRbQHmRmlFiCmW//Zy6udZXoz?= =?us-ascii?Q?tCg3GHK27l/WG/quc4Cj5s5q8bDXxPk84L7BTVyCqkBYrsGE9iT8Xn5sEsXN?= =?us-ascii?Q?5dO7SYMcgPcMJlZ16Dh1BThieS754T/IL8FdFe4e1K6ujWyzKuk2zTlrEAKQ?= =?us-ascii?Q?6aFsaMv+4Q5x/Ob2M+wL9K14fKgY8IRSLkILq5bLB1s+WMAN2NMNdGpR9YQc?= =?us-ascii?Q?c+W1q0WSyEhlrwArGfgmrYb9l+w62URDNFlabnyaawk+OPn4wfbgfwDoeL+2?= =?us-ascii?Q?QueNOjDDnMt8YPy/Dcp+jme4aSDHT+Y/HwORipt6zJxvJwJpzvcI02Fox1L2?= =?us-ascii?Q?7ujSPmCtb1KwB0zye09vaeuR/Lw1AURZcAycR5wmwN87CsheAQNJgXD4aM7S?= =?us-ascii?Q?bLvKnrqC7a4kY1OLh1VRFPJkJ0WbNIB+byI2QYfT8bfHMVE4Fj2EqhM1y4O6?= =?us-ascii?Q?OxC9W3kudsLMKszSoVfCWRMVBNvPzJsTD4RXUgY8MXLOojOGIk04DyE0GoLE?= =?us-ascii?Q?Fy0T?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5753 Original-Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none; sourceware.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: fe209598-25b4-471c-bccb-08d8bdf984fc X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iOFzo+gZH/udbXwijf1JQQuLYKGTwsgRzgjBLjWz4+XTvWPc0ctu1elxafN6RexmA3Nbr8TAnNf7wZf9Qm9ljAUntqVHOnmfeavDVrZ7UD4MzhDXT1PsQdImUvO8Izt3+Pk55UoXUTiElaz2iUZEpPBj8iBwF1Lld9BDyJlC/qoE2Zob7peLJOCs2w1wYzJcXLbjbMdg2ChcgAjCD3mnSGHvNh2JSz3rfQpNh69fhs0YrEu70Lk9c7GFPmRCa4r9ZLtr4knIpruPTzLjYky8+fOaUw0btdIdeNDzkb2+CaMfc+VszcecNAxlrMGWx12WUEkIpY24yqHEj5ekqhDIfGRQrc8rRXqOKjlLo7hKPHy4PWY89B45TNWpt/FOceaEW2iMcOcr3yJDrv58ZCiX954AlKuSiegm2KCnXPMDuOTR2XVbqfI4oM/hTa+M+Y5/mO8LYLeSdRnWNalzY4D/qNF+Dc6r5rebGMx+Z8yBofjDbboguPAXUvCMqcVUdJGn X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(39860400002)(346002)(136003)(376002)(396003)(46966006)(47076005)(2906002)(36756003)(6666004)(82740400003)(6512007)(316002)(6506007)(6916009)(16526019)(186003)(5660300002)(478600001)(82310400003)(356005)(70206006)(70586007)(8936002)(956004)(1076003)(83380400001)(86362001)(2616005)(336012)(8676002)(69590400011)(26005)(81166007)(6486002)(44832011); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2021 10:44:36.2491 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e69a2132-0c65-4ff9-1342-08d8bdf98bd0 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5863 X-Spam-Status: No, score=-14.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-stable@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-stable mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Jan 2021 10:44:41 -0000 The _dl_open_check and _rtld_main_check hooks are not called on the dependencies of a loaded module, so BTI protection was missed on every module other than the main executable and directly dlopened libraries. The fix just iterates over dependencies to enable BTI. Fixes bug 26926. (cherry picked from commit 72739c79f61989a76b7dd719f34fcfb7b8eadde9) --- sysdeps/aarch64/dl-bti.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/sysdeps/aarch64/dl-bti.c b/sysdeps/aarch64/dl-bti.c index 196e462520..56c097210a 100644 --- a/sysdeps/aarch64/dl-bti.c +++ b/sysdeps/aarch64/dl-bti.c @@ -51,11 +51,24 @@ enable_bti (struct link_map *map, const char *program) return 0; } -/* Enable BTI for L if required. */ +/* Enable BTI for L and its dependencies. */ void _dl_bti_check (struct link_map *l, const char *program) { - if (GLRO(dl_aarch64_cpu_features).bti && l->l_mach.bti) + if (!GLRO(dl_aarch64_cpu_features).bti) + return; + + if (l->l_mach.bti) enable_bti (l, program); + + unsigned int i = l->l_searchlist.r_nlist; + while (i-- > 0) + { + struct link_map *dep = l->l_initfini[i]; + if (dep->l_init_called) + continue; + if (dep->l_mach.bti) + enable_bti (dep, program); + } } -- 2.17.1