Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp522068ybh; Wed, 15 Jul 2020 08:11:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwS1fuOtZXCfitmPZk5e6XZsRP3GN3/OwV8x8SuNy3YyhNo1Hkrp7jc2H/mZcxsck/dJASc X-Received: by 2002:aa7:c80f:: with SMTP id a15mr47217edt.299.1594825870422; Wed, 15 Jul 2020 08:11:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594825870; cv=none; d=google.com; s=arc-20160816; b=RpDW7TqCMvrh9e7CfEdns+oGqqH5F7Chb585XWp8U24o6kq/gk7aGzYAW/I2tStBlj azwZRry/JFw0RoHVYz/hNsvO6hfaZyiGUmNIfGkGwAXZfDzlJovDppoV5XxDP/+Wt/6E 2FDRuu+/qw/oxRmEBvxgzRgNOLBBYx/jLGVKVmqvbibMHbtpHzjMQaIqP3JeIfjb7IO1 uLDLb8wgIYrTSGNDKvvseccTX6St3AB/A+Kt1Dr3aiJLoqSYH63AcCUmgHsBRGokfLfh v062ORITp30GUEjA7BqyoLXcHaV80gBNNfz3wdDjB2/cmgqSES+DgvJEx6oWkp7tdhT7 eanA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=3sVHQVniRgWC5NTwZaXYGGFFW8NLkQFEWdq+5YfgKdg=; b=NgEG9aiHqsFoaBX3f/NrmceH41VFztncbJdZTUXSO+oWj69bV8bUPQ8V9hjTOy2hb7 cugYpnfCapYNA2ngfYnAdy2zh3Nkg2+jAzzGuv5a4hSqXaUyuZBMtfAAATEbuzdcadlr N0yMkRORbxWbk9F2wRSqKDFEmR4X+jLsyc0Rix9bMh2sxwSOETTRL5psUuWLu+dHWJl+ N3OOE0d8mZ/72KCdTK+FxFLNZrViFd53HMsREI8NWWkxU+uld+RAQGz154gSz7AVEghs 7nPeTDqOqTwxifgsO+yT8C6/54DZMAt3wZmCJrBgp6y7H5PFDleNROiXnhKqw8AsAfeW HRYg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m4si1765179ejn.10.2020.07.15.08.10.20; Wed, 15 Jul 2020 08:11:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729759AbgGON4I (ORCPT + 99 others); Wed, 15 Jul 2020 09:56:08 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:48121 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729086AbgGON4H (ORCPT ); Wed, 15 Jul 2020 09:56:07 -0400 Received: from ip5f5af08c.dynamic.kabel-deutschland.de ([95.90.240.140] helo=wittgenstein) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1jvht5-0005LP-Jl; Wed, 15 Jul 2020 13:55:55 +0000 Date: Wed, 15 Jul 2020 15:55:54 +0200 From: Christian Brauner To: Florian Weimer Cc: Mathieu Desnoyers , carlos , Peter Zijlstra , linux-kernel , Thomas Gleixner , paulmck , Boqun Feng , "H. Peter Anvin" , Paul Turner , linux-api Subject: Re: [RFC PATCH 2/4] rseq: Allow extending struct rseq Message-ID: <20200715135554.4q6aamx4iqd4mnqh@wittgenstein> References: <20200714030348.6214-1-mathieu.desnoyers@efficios.com> <87mu42bepq.fsf@oldenburg2.str.redhat.com> <131549905.11442.1594731035989.JavaMail.zimbra@efficios.com> <87a7028d5u.fsf@oldenburg2.str.redhat.com> <2452161.11491.1594732791558.JavaMail.zimbra@efficios.com> <71f08b3a-56f5-0e0f-53b0-cc680f7e8181@redhat.com> <2053637148.14136.1594818777608.JavaMail.zimbra@efficios.com> <87y2nk29rp.fsf@oldenburg2.str.redhat.com> <882700738.14181.1594819884049.JavaMail.zimbra@efficios.com> <87mu4028uk.fsf@oldenburg2.str.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87mu4028uk.fsf@oldenburg2.str.redhat.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 15, 2020 at 03:42:11PM +0200, Florian Weimer wrote: > * Mathieu Desnoyers: > > > So indeed it could be done today without upgrading the toolchains by > > writing custom assembler for each architecture to get the thread's > > struct rseq. AFAIU the ABI to access the thread pointer is fixed for > > each architecture, right ? > > Yes, determining the thread pointer and access initial-exec TLS > variables is baked into the ABI. > > > How would this allow early-rseq-adopter libraries to interact with > > glibc ? > > Under all extension proposals I've seen so far, early adopters are > essentially incompatible with glibc rseq registration. I don't think > you can have it both ways. Who are the early adopters? And if we aren't being compatible with them under the extensible schemes proposed we should be able to achieve compatibility with non-early adopters, right? Which I guess is more important. (I still struggle to make sense what qualifies as an early adopter/what the difference to a non-early adopter is.) Christian