From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-3.7 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 1747E1F451 for ; Thu, 4 Jan 2024 22:48:55 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (2048-bit key; unprotected) header.d=gnu.org header.i=@gnu.org header.a=rsa-sha256 header.s=fencepost-gnu-org header.b=igXdREsy; dkim-atps=neutral Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 59105387085B for ; Thu, 4 Jan 2024 22:48:54 +0000 (GMT) Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 80FB9386F82B for ; Thu, 4 Jan 2024 22:48:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 80FB9386F82B Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 80FB9386F82B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704408512; cv=none; b=LzKx3Kthsi5qQ0NWvxkdXpq3N2bFIJ3dSDeZ+0IlqWIMqXgRpcVzLGImgkfVOXYsKjv8ZMKH4ThHpj/3JT4bgo6ddNcWnV/+wH1nMTESKcAl4Xrx15k1TyxSz/OcWmZ1dovMZSzkYdqd+gY27LxcqI02Mf//1yYecJgX0R7ZHO8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704408512; c=relaxed/simple; bh=1LKumKFOQZ4GUaWPvh/QVdoketzyrKtckbKZ4k5FEvU=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=Ow5n0bfYADINlA4S+UEsBboKOKUwoTKTF0/5W+ZtbQzcjxNlONJ4Gev/aEA4ngV0LchjiLeRxmWXFe9TJack/7/OsV9BFiKbtH9lmqERNByo8YLVFEmaKg8VAl98zMHP3Jskrkd8reTgo+l2mOxuMUQ5x+s2scEeVKCiDlqtuaE= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rLWVq-0002fN-4w; Thu, 04 Jan 2024 17:48:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=In-Reply-To:MIME-Version:References:Subject:To:From: Date; bh=RLW1jyydfxDmxZ3rYAHD4ohJfRtoOD2J9/dWMA0WfA0=; b=igXdREsykjLiiBe07VE6 UnXBWVYviUVwKiIEFxXT9kJVt3rmHTwmajXFISVaWsiJHTZiom5Mj2Ndvdm0kikm1BmPcUaytB6Rh GA8t89eNJWCm4p8M7p+Ya9nMAssmiRexGUSgQypcxa/KFvfMX9M7rz2ZcRHPpbiO4GrFKy5bswJy/ Ahz5qAVU7crf4h/q2NUl5Bygy35V11p+ztY1KqRwiIsc8QdQvnXyrrw2gUO2Ph7GVIAgL0y0LVFT9 OsU1fqEH5bXjDDzjqijcg9SJXVi6eBMeuGMyVUnfkwALPxYj4zLOOaEefYcx51yadXkAag4wJ3KA6 xaMqmS6WGSD1Xg==; Date: Thu, 4 Jan 2024 23:48:28 +0100 From: Samuel Thibault To: Sergey Bugaev Cc: libc-alpha@sourceware.org, bug-hurd@gnu.org Subject: Re: [RFC PATCH 10/23] hurd: Only init early static TLS if it's used to store stack or pointer guards Message-ID: <20240104224828.lhxqmgp2xpzuzkzf@begin> Mail-Followup-To: Sergey Bugaev , libc-alpha@sourceware.org, bug-hurd@gnu.org References: <20240103171502.1358371-1-bugaevc@gmail.com> <20240103171502.1358371-11-bugaevc@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240103171502.1358371-11-bugaevc@gmail.com> Organization: I am not organized User-Agent: NeoMutt/20170609 (1.8.3) X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Applied, thanks! Sergey Bugaev, le mer. 03 janv. 2024 20:14:43 +0300, a ecrit: > This is the case on both x86 architectures, but not on AArch64. > > Signed-off-by: Sergey Bugaev > --- > sysdeps/mach/hurd/init-first.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/sysdeps/mach/hurd/init-first.c b/sysdeps/mach/hurd/init-first.c > index 85261916..26ccd37e 100644 > --- a/sysdeps/mach/hurd/init-first.c > +++ b/sysdeps/mach/hurd/init-first.c > @@ -38,7 +38,16 @@ extern int __libc_argc attribute_hidden; > extern char **__libc_argv attribute_hidden; > extern char **_dl_argv; > > -#ifndef SHARED > +#if !defined (SHARED) && (defined (THREAD_SET_STACK_GUARD) || defined (THREAD_SET_POINTER_GUARD)) > +/* In the static case, we need to set up TLS early so that the stack > + protection guard can be read at from TLS by the GCC-generated snippets, > + on architectures that store the guard in TLS and not globally. */ > +# define USE_INIT1_TCBHEAD 1 > +#else > +# define USE_INIT1_TCBHEAD 0 > +#endif > + > +#if USE_INIT1_TCBHEAD > static tcbhead_t __init1_tcbhead; > #endif > > @@ -153,9 +162,7 @@ first_init (void) > /* Initialize data structures so we can do RPCs. */ > __mach_init (); > > -#ifndef SHARED > - /* In the static case, we need to set up TLS early so that the stack > - protection guard can be read at from TLS by the GCC-generated snippets. */ > +#if USE_INIT1_TCBHEAD > _hurd_tls_init (&__init1_tcbhead, 0); > #endif > > -- > 2.43.0 > > -- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.