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 B0D94C5478C for ; Sat, 2 Mar 2024 14:57:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B2EF76B0085; Sat, 2 Mar 2024 09:57:08 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ADF626B0092; Sat, 2 Mar 2024 09:57:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 97FA46B009B; Sat, 2 Mar 2024 09:57:08 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 87FC56B0085 for ; Sat, 2 Mar 2024 09:57:08 -0500 (EST) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 215CC120529 for ; Sat, 2 Mar 2024 14:57:08 +0000 (UTC) X-FDA: 81852401736.26.6DC59B9 Received: from port70.net (port70.net [81.7.13.123]) by imf14.hostedemail.com (Postfix) with ESMTP id DEF2F100010 for ; Sat, 2 Mar 2024 14:57:05 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf14.hostedemail.com: domain of nsz@port70.net designates 81.7.13.123 as permitted sender) smtp.mailfrom=nsz@port70.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709391426; 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: in-reply-to:in-reply-to:references:references; bh=RaMmWzUo0lkez42SqkbQqmg2eeNPwVJz6wKxe+L3p6M=; b=fcAn2geqdcWTLXDHt314H6ExA9paztF1uUZYZc2Fs5H6Zi0LB/RoGj100osvpLf5q1uTti yK67rIiKA+Pek3NcFKMCFkDuHn99TmOy5iyvyhTx8ZzvMopVKd2iws3/izOJbn7BLfDcve oETouY3k5p1lzUROIjbPRPpZiT7hNNk= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf14.hostedemail.com: domain of nsz@port70.net designates 81.7.13.123 as permitted sender) smtp.mailfrom=nsz@port70.net ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709391426; a=rsa-sha256; cv=none; b=4M7NH+vm/uYeZyVQGTanci3Wp/S1ErXNZhYV95wOIZFwYl7XwmzfUymfjMBQcOAIyFKZgA xNAk89QN5OtbGuIJgIsWg+rZCxhCvv1V2fk8hRWszZJC2euqGVadF663qnOmjx6vBN1Uc0 97Dbaf8+twlLPBxl4U0CF6x1oD+NYEc= Received: by port70.net (Postfix, from userid 1002) id 691CEABEC0C7; Sat, 2 Mar 2024 15:57:02 +0100 (CET) Date: Sat, 2 Mar 2024 15:57:02 +0100 From: Szabolcs Nagy To: Mark Brown Cc: "dalias@libc.org" , "Edgecombe, Rick P" , "linux-arch@vger.kernel.org" , "suzuki.poulose@arm.com" , "Szabolcs.Nagy@arm.com" , "musl@lists.openwall.com" , "linux-fsdevel@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "kvmarm@lists.linux.dev" , "corbet@lwn.net" , "linux-kernel@vger.kernel.org" , "catalin.marinas@arm.com" , "oliver.upton@linux.dev" , "palmer@dabbelt.com" , "debug@rivosinc.com" , "aou@eecs.berkeley.edu" , "shuah@kernel.org" , "arnd@arndb.de" , "maz@kernel.org" , "oleg@redhat.com" , "fweimer@redhat.com" , "keescook@chromium.org" , "james.morse@arm.com" , "ebiederm@xmission.com" , "will@kernel.org" , "brauner@kernel.org" , "hjl.tools@gmail.com" , "linux-kselftest@vger.kernel.org" , "paul.walmsley@sifive.com" , "ardb@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mm@kvack.org" , "thiago.bauermann@linaro.org" , "akpm@linux-foundation.org" , "sorear@fastmail.com" , "linux-doc@vger.kernel.org" Subject: Re: [musl] Re: [PATCH v8 00/38] arm64/gcs: Provide support for GCS in userspace Message-ID: <20240302145702.GD1884416@port70.net> Mail-Followup-To: Mark Brown , "dalias@libc.org" , "Edgecombe, Rick P" , "linux-arch@vger.kernel.org" , "suzuki.poulose@arm.com" , "Szabolcs.Nagy@arm.com" , "musl@lists.openwall.com" , "linux-fsdevel@vger.kernel.org" , "linux-riscv@lists.infradead.org" , "kvmarm@lists.linux.dev" , "corbet@lwn.net" , "linux-kernel@vger.kernel.org" , "catalin.marinas@arm.com" , "oliver.upton@linux.dev" , "palmer@dabbelt.com" , "debug@rivosinc.com" , "aou@eecs.berkeley.edu" , "shuah@kernel.org" , "arnd@arndb.de" , "maz@kernel.org" , "oleg@redhat.com" , "fweimer@redhat.com" , "keescook@chromium.org" , "james.morse@arm.com" , "ebiederm@xmission.com" , "will@kernel.org" , "brauner@kernel.org" , "hjl.tools@gmail.com" , "linux-kselftest@vger.kernel.org" , "paul.walmsley@sifive.com" , "ardb@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-mm@kvack.org" , "thiago.bauermann@linaro.org" , "akpm@linux-foundation.org" , "sorear@fastmail.com" , "linux-doc@vger.kernel.org" References: <22a53b78-10d7-4a5a-a01e-b2f3a8c22e94@app.fastmail.com> <4c7bdf8fde9cc45174f10b9221fa58ffb450b755.camel@intel.com> <20240220185714.GO4163@brightrain.aerifal.cx> <9fc9c45ff6e14df80ad023e66ff7a978bd4ec91c.camel@intel.com> <20240220235415.GP4163@brightrain.aerifal.cx> <20240221012736.GQ4163@brightrain.aerifal.cx> <20240221145800.GR4163@brightrain.aerifal.cx> <4a3809e8-61b2-4341-a868-292ba6e64e8a@sirena.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4a3809e8-61b2-4341-a868-292ba6e64e8a@sirena.org.uk> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: DEF2F100010 X-Stat-Signature: xfafxr8pjfggb33jjki5ikc55ams8npe X-HE-Tag: 1709391425-466776 X-HE-Meta: U2FsdGVkX18ko34cpDoyd9bzHhzfwRDrwwHhgtBXCq2PdBJZM5w2ekBX/V7QkauSgc9j/htGdsXmTGXgy3c2poVpyW2mkDhmpbq0quoWACJmiTF3MHM9HfqndfmLrV+3BuCFPGLSHjzNk2DgSy6k5DU87l6Gdz86fxmf/9rwBODfx0m6LD8rP9m+WM0MepWP2UhHx6xRGcOIwcDshRUZhtn8i9yJoWFRQOaEyfJDJ2eMxonQFb6RrLYf1Bcz8TjvWyMWf9HCUH3O00BV/ALApx8WNm2ZSPc3Z8YV9JWgJA+OzC1IdKgzIHu/JMIaCywPSYRY8Ekv3yyeELPJew7Tt4zxyeiuxGMQrI3JxFqOfRc9PKmUP8ySz8SkOcjqVGTWObNfWr4QbrrTOgu0q9ygZwspm3vMPJC7jB636KgeFVFV2O1fRB+NBJf/z+43WcsLlUraFNfiLxDFEhvC+Xtw7jEyNsP1PezO48VwK1MD7h0/T+aZupPwrD764+f1jhdi+I4CfiILNMTrkm2J1WvXqpDtuEVSfKI///UwgNP/ZUV3IAjWeAtoThQNUTynQARnxg5ruakvtABVzeEL2ChB8PXussFJCCCbeVdgUtHIpHnqfwGx2prgCWJzWGjZPmZeYPUiqkOM9Bv9pZl9F1gnIxlJR9XSiux68PjCpy94mwb42UvfES8oWOOHfaMIBY7d1vpo6GYPIEXad2JKwZ+h5lqMdkyo1nB8QfbFkcepgkwGvbvu6bEgS52J3jPVq3Qpnqvk89fn2oXiTzBh6qFuu9Ewmnub4tIGFhjoPRdZSI5K/kp6z7qVqSiISr72xCJkKimsN3p/611P3lBF1xMxauTZimsPY25pvkupRdgH2x95VY9FisdHm7ocsqW31p5R9ZKruWefIL/zMrMLwSTgv4ikTXuavJKv3LSeWRgDFbmeHteMBxS/r18gKdK4VpG3Y8cW9KiUhtsOyciYSBf 6IuTcBGf miSIlmxNRfqnJyV30JDyMSE62CL0aAvisxrcy4OaXEVaYbNKscPj5Wv3RttTC08b5kfULavlFvyrADBHWpCztNOC9mvr18OEvovdqHt6Bn/31xHId0lLYDqcXkBTclDEvnCQY7R4NxPcM4gmwZVcBbQBgMkc+JjNjIZ47pcfpG7d0haxcFQGdSjhCOY4hjUJqzzsaVNbEhEjLHiiXqpPfOwoUZxUL59gieyByhAUTq4iyyPFb50rirPuGNpX2PZHgWXzihtsRHx1LkghcLG0WN5cMFA== 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: List-Subscribe: List-Unsubscribe: * Mark Brown [2024-02-21 17:36:12 +0000]: > On Wed, Feb 21, 2024 at 09:58:01AM -0500, dalias@libc.org wrote: > > On Wed, Feb 21, 2024 at 01:53:10PM +0000, Mark Brown wrote: > > > On Tue, Feb 20, 2024 at 08:27:37PM -0500, dalias@libc.org wrote: > > > > On Wed, Feb 21, 2024 at 12:35:48AM +0000, Edgecombe, Rick P wrote: > > > > > > (INCSSP, RSTORSSP, etc). These are a collection of instructions that > > > > > allow limited control of the SSP. When shadow stack gets disabled, > > > > > these suddenly turn into #UD generating instructions. So any other > > > > > threads executing those instructions when shadow stack got disabled > > > > > would be in for a nasty surprise. > > > > > This is the kernel's problem if that's happening. It should be > > > > trapping these and returning immediately like a NOP if shadow stack > > > > has been disabled, not generating SIGILL. > > > > I'm not sure that's going to work out well, all it takes is some code > > > that's looking at the shadow stack and expecting something to happen as > > > a result of the instructions it's executing and we run into trouble. A > > > I said NOP but there's no reason it strictly needs to be a NOP. It > > could instead do something reasonable to convey the state of racing > > with shadow stack being disabled. > > This feels like it's getting complicated and I fear it may be an uphill > struggle to get such code merged, at least for arm64. My instinct is the aarch64 behaviour is already nop for gcs instructions when gcs is disabled. the isa was designed so async disable is possible. only x86 linux would have to emulate this. > that it's going to be much more robust and generally tractable to let > things run to some suitable synchronisation point and then disable > there, but if we're going to do that then userspace can hopefully > arrange to do the disabling itself through the standard disable > interface anyway. Presumably it'll want to notice things being disabled > at some point anyway? TBH that's been how all the prior proposals for > process wide disable I've seen were done.