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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61860C43217 for ; Wed, 5 Oct 2022 13:33:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C96116B0072; Wed, 5 Oct 2022 09:33:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C45756B0073; Wed, 5 Oct 2022 09:33:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE6426B0074; Wed, 5 Oct 2022 09:33:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9D9BE6B0072 for ; Wed, 5 Oct 2022 09:33:02 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 65AED1409A9 for ; Wed, 5 Oct 2022 13:33:02 +0000 (UTC) X-FDA: 79986986604.03.D52E33D Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [185.58.85.151]) by imf17.hostedemail.com (Postfix) with ESMTP id 5344440017 for ; Wed, 5 Oct 2022 13:33:00 +0000 (UTC) Received: from AcuMS.aculab.com (156.67.243.121 [156.67.243.121]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id uk-mta-220-Ey5VsqheNgyO3SFDIVsBNQ-1; Wed, 05 Oct 2022 14:32:55 +0100 X-MC-Unique: Ey5VsqheNgyO3SFDIVsBNQ-1 Received: from AcuMS.Aculab.com (10.202.163.6) by AcuMS.aculab.com (10.202.163.6) with Microsoft SMTP Server (TLS) id 15.0.1497.38; Wed, 5 Oct 2022 14:32:53 +0100 Received: from AcuMS.Aculab.com ([::1]) by AcuMS.aculab.com ([::1]) with mapi id 15.00.1497.040; Wed, 5 Oct 2022 14:32:53 +0100 From: David Laight To: 'Kees Cook' CC: 'Dave Hansen' , Rick Edgecombe , "x86@kernel.org" , "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , "linux-kernel@vger.kernel.org" , "linux-doc@vger.kernel.org" , "linux-mm@kvack.org" , "linux-arch@vger.kernel.org" , "linux-api@vger.kernel.org" , Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , "Eugene Syromiatnikov" , Florian Weimer , "H . J . Lu" , Jann Horn , Jonathan Corbet , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , "Ravi V . Shankar" , Weijiang Yang , "Kirill A . Shutemov" , "joao.moreira@intel.com" , John Allen , "kcc@google.com" , "eranian@google.com" , "rppt@kernel.org" , "jamorris@linux.microsoft.com" , "dethoma@microsoft.com" , Yu-cheng Yu Subject: RE: [PATCH v2 24/39] x86/cet/shstk: Add user-mode shadow stack support Thread-Topic: [PATCH v2 24/39] x86/cet/shstk: Add user-mode shadow stack support Thread-Index: AQHY12Njz3/HZpf9jkaO+WwIiUYgJ63+BXnggACK/wCAAT4eAA== Date: Wed, 5 Oct 2022 13:32:53 +0000 Message-ID: References: <20220929222936.14584-1-rick.p.edgecombe@intel.com> <20220929222936.14584-25-rick.p.edgecombe@intel.com> <202210031203.EB0DC0B7DD@keescook> <474d3aca-0cf0-8962-432b-77ac914cc563@intel.com> <4b9c6208d1174c27a795cef487eb97b5@AcuMS.aculab.com> <202210041229.99F8CB38B@keescook> In-Reply-To: <202210041229.99F8CB38B@keescook> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: aculab.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664976782; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vGwGu5rLlokVtd9HiSBlo1y+NHyUng1+81hHAExH+SY=; b=jQ9tbxPv66USO9MQxrtheZDWXgx1R6PNYGFJkYhnkLEl3E6+gQ/Yb4ZoUUr11uPWqXvqjH /2DDwgR1cpppZi/8FJIBaEBQomv68Jypg4srZTQdoqaUCY+n68Ble/+K5oMhjlcvzym4eY GDdKjMrh3gE8MHEbTvWzniRmimkGMd4= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=aculab.com; spf=pass (imf17.hostedemail.com: domain of david.laight@aculab.com designates 185.58.85.151 as permitted sender) smtp.mailfrom=david.laight@aculab.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664976782; a=rsa-sha256; cv=none; b=DeBS0NFJnnzRu8Ppdp02eA7cpH+mN57SZh6PegfEOaZGSj2YVsLWrxTByqgEzy+DBtGaCG IrS3Tzi+oJmnO1yBXuvQWAIGJ2y+vItXjYW44EmhbeXsvNjzW+TRB9/XVE46U/obg5XgZx C6DZCFJr1DtejTJbrlGrPFc2/U2aaXA= X-Stat-Signature: 73g6147s4w58nwhcwokr95y9omgkjqd4 X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 5344440017 Authentication-Results: imf17.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=aculab.com; spf=pass (imf17.hostedemail.com: domain of david.laight@aculab.com designates 185.58.85.151 as permitted sender) smtp.mailfrom=david.laight@aculab.com X-HE-Tag: 1664976780-982919 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: From: Kees Cook > Sent: 04 October 2022 20:32 ... > Oh, yes! I do this all the time with FORTIFY shenanigans. Right, so, > instead of a macro, the "cannot be un-inlined" could be enforced with > this (untested): >=20 > static __always_inline void set_clr_bits_msrl(u32 msr, u64 set, u64 clear= ) > { > =09u64 val, new_val; >=20 > =09BUILD_BUG_ON(!__builtin_constant_p(msr) || > =09=09 !__builtin_constant_p(set) || > =09=09 !__builtin_constant_p(clear)); You can reduce the amount of text the brain has to parse by using: =09BUILD_BUG_ON(!__builtin_constant_p(msr + set + clear)); Just requires the brain to do a quick 'oh yes'... =09David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1= PT, UK Registration No: 1397386 (Wales)