Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp993753ybi; Fri, 14 Jun 2019 06:53:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqzW+KJf5KzIVSLREXKISZht6ak0lAU/KNBGTK5S6dkGd1nf+k0wB+PmxF5kbCnXzwP70vPj X-Received: by 2002:a17:902:110b:: with SMTP id d11mr21685573pla.213.1560520433361; Fri, 14 Jun 2019 06:53:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560520433; cv=none; d=google.com; s=arc-20160816; b=WrBoWVr45V7ofCRTi55fesMB48CaEpiFJyjwITeA01SoVJNR7GsgN6HcCQOBHCR+vf N6PWjrJn16i+N5Bymne7p8S/mJaoo3h6yXYAxOkiaX3mQa9mkVaOQsEwQ5oECSJRNfbb jlikjHtxT40YBlNAShCZP7mTX0xxpkR/udbLmxESkVHW33iTxicEJz1FUZOkUXbl9E0o boun3YI638oTFbGBcHCY4G0MGZkEcFKADGGed0OVz6dhnSCHNqdR5i9uMxcmbE1Jm22V YfchM9Jg+TpxvtrOKIMY0x5eEm7TGvtU077LbOV8U5UHx+K4JgSTn9Zm0yKUYKRBtz97 AS0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from; bh=xmRTKXpePYxHvI+Lyd6uDMurISiqddplNBmxS//druk=; b=I1wX+AL339jyWFrsNC7uu7caeRo+4V1wHk8qg60L9qemQbXcwowntZ7+VofDa2GlMY DtMZMTVqO/4zxBSVr7MzGB7Vr0M2KDhz4FO2HGuQfkq5+0REBavgon8Ha2P2YFPdS+Hb RKKEC8WRpE/9ZVWwFRUD2/a5ICITTBmdgqFO74Z5v0vc9JjHKlvvy2SIpkvk+PI2vKYq hjGTDp95kA0BtCaJnSQsehsMF3TExNGfc8R++qfLHAPnF0PIUgU2ssFsfVdXN2hw5/RA 5fN3tCFFcZ/lPpIY2i1YcTd0lgblc35kRZxpIhK54qACGPkuQ3xK91dPw7P+Wn2F0afK HLTg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t24si1756055pgv.242.2019.06.14.06.53.36; Fri, 14 Jun 2019 06:53:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728457AbfFNNxc (ORCPT + 99 others); Fri, 14 Jun 2019 09:53:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:52376 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728539AbfFNNxY (ORCPT ); Fri, 14 Jun 2019 09:53:24 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AAA9181F2F; Fri, 14 Jun 2019 13:53:23 +0000 (UTC) Received: from oldenburg2.str.redhat.com (dhcp-192-180.str.redhat.com [10.33.192.180]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 71F6D60BE0; Fri, 14 Jun 2019 13:53:16 +0000 (UTC) From: Florian Weimer To: Mathieu Desnoyers Cc: carlos , Joseph Myers , Szabolcs Nagy , libc-alpha , Thomas Gleixner , Ben Maurer , Peter Zijlstra , "Paul E. McKenney" , Boqun Feng , Will Deacon , Dave Watson , Paul Turner , Rich Felker , linux-kernel , linux-api Subject: Re: [PATCH 1/5] glibc: Perform rseq(2) registration at C startup and thread creation (v10) References: <20190503184219.19266-1-mathieu.desnoyers@efficios.com> <1190407525.3131.1560516910936.JavaMail.zimbra@efficios.com> <1085273942.3137.1560517301721.JavaMail.zimbra@efficios.com> <87d0jguxdk.fsf@oldenburg2.str.redhat.com> <1779359826.3226.1560518318701.JavaMail.zimbra@efficios.com> <87wohoti47.fsf@oldenburg2.str.redhat.com> <189377747.3315.1560519247118.JavaMail.zimbra@efficios.com> <87imt8tha5.fsf@oldenburg2.str.redhat.com> <26171199.3391.1560520033825.JavaMail.zimbra@efficios.com> Date: Fri, 14 Jun 2019 15:53:15 +0200 In-Reply-To: <26171199.3391.1560520033825.JavaMail.zimbra@efficios.com> (Mathieu Desnoyers's message of "Fri, 14 Jun 2019 09:47:13 -0400 (EDT)") Message-ID: <87ef3wtgs4.fsf@oldenburg2.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Fri, 14 Jun 2019 13:53:23 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Mathieu Desnoyers: > ----- On Jun 14, 2019, at 3:42 PM, Florian Weimer fweimer@redhat.com wrote: > >> * Mathieu Desnoyers: >> >>> + /* Publicize rseq registration ownership. This must be performed >>> + after rtld re-relocation, before invoking constructors of >>> + preloaded libraries. */ >>> + rseq_init (); >> >> Please add a comment that IFUNC resolvers do not see the initialized >> value. I think this is okay because we currently do not support access >> to extern variables in IFUNC resolvers. > > Do IFUNC resolvers happen to observe the __rseq_handled address that > was internal to ld.so ? They should observe the correct address, but they can access the variable before initialization. An initializer in ld.so will not have an effect if an interposed definition initalized the variable to something else. > If so, we could simply initialize __rseq_handled twice: early before calling > IFUNC resolvers, and after ld.so re-relocation. No, I don't think this will make a difference. Thanks, Florian