Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp516529ybi; Sat, 29 Jun 2019 16:52:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqxqfb0heNZIrPAwYs7fgjPrGAL4vp/o7T5pR0IKP+UDT8e5OQlUSFZV4u1LdmvQgEZAYvDa X-Received: by 2002:a17:90a:8d09:: with SMTP id c9mr22403979pjo.131.1561852344026; Sat, 29 Jun 2019 16:52:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561852344; cv=none; d=google.com; s=arc-20160816; b=wq3D2EL0uELhPPrQ1F8rQLlREEoWivdxLQMSczlURpOZsTUpOsWIdo6WZtFiB32Xfz 3y2wtBBWtzBTMoTPLXGyFp7jK0xYpOZQT/oCQSnF4fW4SjNrFHQ+w6YkNkvEEU+VfGqB G9KAz7faVV825tN7DK5Lr3kX+35WyHcOU121Y0gm1RutqX/yUmhSvcDXG84mdkfI6Clr aEqa4NsxPV9Z9DqoAFXOqwsVEKuG31vtgne0+oxpV2CM2pkqj6VVmeedPI4W6/PDi8n7 p1A+8YxgVatG9r7xcUtw62JWU4uCqD8p56bNWniWFNkIPc3JogqD4mbyJ0pmx0UF2L2q EJCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=nP4lp/e6AIs94o4YYLZYg3jH19AwRg6rp3ToZBgb4Xc=; b=izNLmO3PrQtOcrwy31YDqTqQJOWBhbBfBeLWBGRsXOdny6W8/ciaGPhA+XOBGearyX Yeaw/ONh5YuXotVXSLkLbgxbE6Hkh9XmJESddTfRKPJ1ZjMtZFt+9XiiAqjfo1ZKcxG/ 5L7jveVv2Wyr5H/BnlC7GwzWZWYah/LNEayRSCwo47bmGtZVCantA+ICGkacgS1wx2lz ApTqs5QikaZ1lVBwjJDTlt2/OVF8NUmOhTZxqcjgEf4UzopX05ieTnFJWY57wKI5PUBT BD2MfE1H+Uh3aEc0V+xgN7Z0jHt08sK4LRtuoRzD4zEq4Kmv2PejSUNEUM8YBa/AS++a LYaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=VOuG3yeR; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w126si6841822pfb.116.2019.06.29.16.52.07; Sat, 29 Jun 2019 16:52:24 -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; dkim=pass header.i=@kernel.org header.s=default header.b=VOuG3yeR; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726964AbfF2XwE (ORCPT + 99 others); Sat, 29 Jun 2019 19:52:04 -0400 Received: from mail.kernel.org ([198.145.29.99]:59186 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726954AbfF2XwE (ORCPT ); Sat, 29 Jun 2019 19:52:04 -0400 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BC414217D9 for ; Sat, 29 Jun 2019 23:52:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1561852323; bh=6zNQnfiowkbQ8h6I1Y7teWbbkPJhz6He7iJKmvs4QWA=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=VOuG3yeRXBw73ehV65Jk05S6ykpdaWN2++D3t48FGNnRIpDyvwGQ/O+9+jEcQ2kLh vJaCio+aAWmRuF+Q74veK48algDDWoAePRXa6sfpOSPcNYY4cIAvDYMztVQaxLrq6F GUxAMYw40KHXc3GwNPQztaUlUU75iWpM7vkEfIdA= Received: by mail-wm1-f41.google.com with SMTP id x15so12390112wmj.3 for ; Sat, 29 Jun 2019 16:52:02 -0700 (PDT) X-Gm-Message-State: APjAAAXwk7iSabmGSoER/1prDcYa67EowUr23grkGyLtZtai7aUMhgBp OZn2IjNQb36diJk5yWq2iyWDq1KT4Ozh1u2Ct1fM1w== X-Received: by 2002:a7b:c450:: with SMTP id l16mr12352705wmi.0.1561852321259; Sat, 29 Jun 2019 16:52:01 -0700 (PDT) MIME-Version: 1.0 References: <20190501211217.5039-1-yu-cheng.yu@intel.com> <20190502111003.GO3567@e103592.cambridge.arm.com> <87ef3fweoq.fsf@oldenburg2.str.redhat.com> In-Reply-To: <87ef3fweoq.fsf@oldenburg2.str.redhat.com> From: Andy Lutomirski Date: Sat, 29 Jun 2019 16:51:50 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] binfmt_elf: Extract .note.gnu.property from an ELF file To: Florian Weimer Cc: Andy Lutomirski , Dave Martin , Yu-cheng Yu , X86 ML , "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , LKML , "open list:DOCUMENTATION" , Linux-MM , linux-arch , Linux API , Arnd Bergmann , Balbir Singh , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , "H.J. Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , "Ravi V. Shankar" , Vedvyas Shanbhogue , Szabolcs Nagy , libc-alpha Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 27, 2019 at 2:39 AM Florian Weimer wrote: > > * Andy Lutomirski: > > > Also, I don't think there's any actual requirement that the upstream > > kernel recognize existing CET-enabled RHEL 8 binaries as being > > CET-enabled. I tend to think that RHEL 8 jumped the gun here. > > The ABI was supposed to be finalized and everyone involved thought it > had been reviewed by the GNU gABI community and other interested > parties. It had been included in binutils for several releases. > > From my point of view, the kernel is just a consumer of the ABI. The > kernel would not change an instruction encoding if it doesn't like it > for some reason, either. I read the only relevant gABI thing I could find easily, and it seems to document the "gnu property" thing. I have no problem with that. > > > While the upstream kernel should make some reasonble effort to make > > sure that RHEL 8 binaries will continue to run, I don't see why we > > need to go out of our way to keep the full set of mitigations > > available for binaries that were developed against a non-upstream > > kernel. > > They were developed against the ABI specification. > > I do not have a strong opinion what the kernel should do going forward. > I just want to make clear what happened. I admit that I'm not really clear on exactly what RHEL 8 shipped. Some of this stuff is very much an ELF ABI that belongs to the toolchain, but some if it is kernel API. For example, the IBT legacy bitmap API is very much in flux, and I don't think anything credible has been submitted for upstream inclusion. Does RHEL 8's glibc attempt to cope with the case where some libraries are CET-compatible and some are not? If so, how does this work? What, if any, services does the RHEL 8 kernel provide in this direction?