From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2F9AC43466 for ; Fri, 18 Sep 2020 22:04:02 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 5C90321734 for ; Fri, 18 Sep 2020 22:04:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5C90321734 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ucw.cz Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id A18BF8E0003; Fri, 18 Sep 2020 18:04:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9C97C8E0001; Fri, 18 Sep 2020 18:04:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8DF218E0003; Fri, 18 Sep 2020 18:04:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0241.hostedemail.com [216.40.44.241]) by kanga.kvack.org (Postfix) with ESMTP id 78AF88E0001 for ; Fri, 18 Sep 2020 18:04:01 -0400 (EDT) Received: from smtpin01.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 3A41E8249980 for ; Fri, 18 Sep 2020 22:04:01 +0000 (UTC) X-FDA: 77277560682.01.owl86_260e66c2712e Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin01.hostedemail.com (Postfix) with ESMTP id 1659810049F18 for ; Fri, 18 Sep 2020 22:04:01 +0000 (UTC) X-HE-Tag: owl86_260e66c2712e X-Filterd-Recvd-Size: 6427 Received: from jabberwock.ucw.cz (jabberwock.ucw.cz [46.255.230.98]) by imf03.hostedemail.com (Postfix) with ESMTP for ; Fri, 18 Sep 2020 22:04:00 +0000 (UTC) Received: by jabberwock.ucw.cz (Postfix, from userid 1017) id 8146F1C0B78; Sat, 19 Sep 2020 00:03:55 +0200 (CEST) Date: Sat, 19 Sep 2020 00:03:55 +0200 From: Pavel Machek To: "H.J. Lu" Cc: "Yu, Yu-cheng" , Randy Dunlap , the arch/x86 maintainers , "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , LKML , "open list:DOCUMENTATION" , Linux-MM , linux-arch , Linux API , Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Peter Zijlstra , "Ravi V. Shankar" , Vedvyas Shanbhogue , Dave Martin , Weijiang Yang Subject: Re: [PATCH v12 1/8] x86/cet/ibt: Add Kconfig option for user-mode Indirect Branch Tracking Message-ID: <20200918220355.GC7443@duo.ucw.cz> References: <20200918192312.25978-1-yu-cheng.yu@intel.com> <20200918192312.25978-2-yu-cheng.yu@intel.com> <20200918205933.GB4304@duo.ucw.cz> <019b5e45-b116-7f3d-f1f2-3680afbd676c@intel.com> <20200918214020.GF4304@duo.ucw.cz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xesSdrSSBC0PokLI" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --xesSdrSSBC0PokLI Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri 2020-09-18 14:46:12, H.J. Lu wrote: > On Fri, Sep 18, 2020 at 2:40 PM Pavel Machek wrote: > > > > On Fri 2020-09-18 14:25:12, Yu, Yu-cheng wrote: > > > On 9/18/2020 1:59 PM, Pavel Machek wrote: > > > > On Fri 2020-09-18 13:24:13, Randy Dunlap wrote: > > > > > Hi, > > > > > > > > > > If you do another version of this: > > > > > > > > > > On 9/18/20 12:23 PM, Yu-cheng Yu wrote: > > > > > > Introduce Kconfig option X86_INTEL_BRANCH_TRACKING_USER. > > > > > > > > > > > > Indirect Branch Tracking (IBT) provides protection against CALL= -/JMP- > > > > > > oriented programming attacks. It is active when the kernel has= this > > > > > > feature enabled, and the processor and the application support = it. > > > > > > When this feature is enabled, legacy non-IBT applications conti= nue to > > > > > > work, but without IBT protection. > > > > > > > > > > > > Signed-off-by: Yu-cheng Yu > > > > > > --- > > > > > > v10: > > > > > > - Change build-time CET check to config depends on. > > > > > > > > > > > > arch/x86/Kconfig | 16 ++++++++++++++++ > > > > > > 1 file changed, 16 insertions(+) > > > > > > > > > > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > > > > > > index 6b6dad011763..b047e0a8d1c2 100644 > > > > > > --- a/arch/x86/Kconfig > > > > > > +++ b/arch/x86/Kconfig > > > > > > @@ -1963,6 +1963,22 @@ config X86_INTEL_SHADOW_STACK_USER > > > > > > If unsure, say y. > > > > > > +config X86_INTEL_BRANCH_TRACKING_USER > > > > > > + prompt "Intel Indirect Branch Tracking for user-mode" > > > > > > + def_bool n > > > > > > + depends on CPU_SUP_INTEL && X86_64 > > > > > > + depends on $(cc-option,-fcf-protection) > > > > > > + select X86_INTEL_CET > > > > > > + help > > > > > > + Indirect Branch Tracking (IBT) provides protection ag= ainst > > > > > > + CALL-/JMP-oriented programming attacks. It is active= when > > > > > > + the kernel has this feature enabled, and the processo= r and > > > > > > + the application support it. When this feature is ena= bled, > > > > > > + legacy non-IBT applications continue to work, but wit= hout > > > > > > + IBT protection. > > > > > > + > > > > > > + If unsure, say y > > > > > > > > > > If unsure, say y. > > > > > > > > Actually, it would be "If unsure, say Y.", to be consistent with the > > > > rest of the Kconfig. > > > > > > > > But I wonder if Yes by default is good idea. Only very new CPUs will > > > > support this, right? Are they even available at the market? Should = the > > > > help text say "if your CPU is Whatever Lake or newer, ...." :-) ? > > > > > > I will revise the wording if there is another version. But a CET-cap= able > > > kernel can run on legacy systems. We have been testing that combinat= ion. > > > > Yes, but enabling CET is unneccessary overhead on older systems. And > > Kconfig is great place to explain that. > > >=20 > I can't tell any visible CET kernel overhead on my non-CET machines. I assume you are not a troll but you sound a bit like one. Please list kernel size before and after enabling X86_INTEL_CET option(s). That's the overhead I'm talking about, and that's why Kconfig should explain what machines this is useful on. Best regards, Pavel --=20 (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blo= g.html --xesSdrSSBC0PokLI Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQRPfPO7r0eAhk010v0w5/Bqldv68gUCX2UuywAKCRAw5/Bqldv6 8tNJAJ9zzAqfN0aeU1k6gJtk7OBI9HGT+gCffaWJMFOfRANSTM5cDlxOOo23LTw= =3UMg -----END PGP SIGNATURE----- --xesSdrSSBC0PokLI--