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 C6E62C3DA4A for ; Fri, 16 Aug 2024 12:02:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 510626B0134; Fri, 16 Aug 2024 08:02:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4BFD66B0135; Fri, 16 Aug 2024 08:02:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 387356B0136; Fri, 16 Aug 2024 08:02:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 135F26B0134 for ; Fri, 16 Aug 2024 08:02:39 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id CAF22A9249 for ; Fri, 16 Aug 2024 12:02:38 +0000 (UTC) X-FDA: 82457971596.03.E121F8F Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf07.hostedemail.com (Postfix) with ESMTP id 744F840004 for ; Fri, 16 Aug 2024 12:02:36 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lammGcz+; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of broonie@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=broonie@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723809697; a=rsa-sha256; cv=none; b=bfAYxTpuS8+BmzEsww8kjo7sm7ePodm3vNPMg6vHpsUk44oR9n37PNgpd7LkXOO88QJlYR UAJhIHbvLUlxaaEQ9wzcN2DRzHDIBgVFVBtRUh/wveoTDEepGdH3rvL2FIJ3FEx3qG1j4B S+qKhoKS/r4nbdPPQXQ4Xs+ALoKcuxw= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=lammGcz+; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf07.hostedemail.com: domain of broonie@kernel.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=broonie@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723809697; 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:dkim-signature; bh=Hndb++5g10Ky2yeNlo2IhKOPctUnOkjSU49TPVxG73c=; b=aeNO8A+xPr4xlgHL+MJS7/5CtlkWIeqQn5jo6tDTXBKPW7a80YYdG+zJ5rEzzczTkZ4MBP WBfws5lu+oFjIpIy8VoamhN/RtDr8yYeoSjT1ULdZ1Fa6dSbC/O7ngcTVHcYrN5omYmSU8 porBgaLW60vRoQL88uYukUX2UcOm/54= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 06DFDCE1177; Fri, 16 Aug 2024 12:02:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7D3A6C32782; Fri, 16 Aug 2024 12:02:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1723809752; bh=oPeCvIbifLel6Ow5IZxAJAB7Vu3RJACPj3rWPilHCSM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=lammGcz+t6OGLNs0WJ0Ion4Wo4GhurUkVu9VWiP20uUI84FAGr99BGSEVKLI3fz0A fdGUkReozzGf4aWRVUznXu1+ekkxTAXKX9asXpNuaMQ1tYN4asJdK2ScKq+YtJngv9 eBTUzZ6sgM4PJfqhUUEouo3q1afG4J2UT9kK9sHh3i6JTPG7VScNqDMPYJjMiJ/yEb aDHpqxKNlUXj5jxTAw9xe58I5LaYxqrSdwd8JLqUkMgLqODMxadE/yFK1sG8NLIRrS rF0cmj1k6ZNEaPvijrCCoPuA1yH2NQ+PEC7/6R5P2m1BKIliB/yCGa8WCxE1omVOJe vrEUxH6ID2hnA== Date: Fri, 16 Aug 2024 13:02:22 +0100 From: Mark Brown To: Catalin Marinas Cc: Will Deacon , Jonathan Corbet , Andrew Morton , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Arnd Bergmann , Oleg Nesterov , Eric Biederman , Shuah Khan , "Rick P. Edgecombe" , Deepak Gupta , Ard Biesheuvel , Szabolcs Nagy , Kees Cook , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Florian Weimer , Christian Brauner , Thiago Jung Bauermann , Ross Burton , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: Re: [PATCH v10 05/40] arm64/gcs: Document the ABI for Guarded Control Stacks Message-ID: <7c17b28e-a5d1-4113-9580-9501692af513@sirena.org.uk> References: <20240801-arm64-gcs-v10-0-699e2bd2190b@kernel.org> <20240801-arm64-gcs-v10-5-699e2bd2190b@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="p6v+ZIr+kcIsmhYm" Content-Disposition: inline In-Reply-To: X-Cookie: A Smith & Wesson beats four aces. X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 744F840004 X-Stat-Signature: 3a8u651keecj7yen97k4symf7xapboes X-Rspam-User: X-HE-Tag: 1723809756-276560 X-HE-Meta: U2FsdGVkX18R7PWFzgT5GH6NvV/uNM/61nUjLLx766cthqBaiVLD/hi83tOnUoZJyJIEO2uodou+2lr7JgK0Cr1W0wiELXnfwdDV+OUnj79gvrkLhdtIcwP//OMI0nY5r2AOyuBCmdTEQtYx69uHRWid/Ws88dP4IHIrViVWhIysI93grCjzEF3RUVAa7YWoJGh4Pz8Lh8qSq3trZc76Ibx/9/QeSaYuvRvSVUjxXdP8NmhWgkWYySsYL4WFoOimXWAn8Sw81odDYx+DadDwmdTixerjJ8K8XP9p4TOtTXM2gxzLxnKoQVaUVAeUaEY79J0tpo35bHffWQvIgOMHo1Sxvmdeq810wFKGOZCkyl6hSctVuQ9jnF7/iV63jHaExSVx5ja9KuMTMfO6lzduXSgsZvhITjwEu41GI+17h51E8KKRPAzysovGmvEgAR950I9MUhBsfaQSuyKBx2Mo5nSAwPdFDw9h8nGiC2eiePz5/ZzRm1qzC1Jb8Z6QnsCVlGckdOpqiercGE/Fpv5kLz5DICYi+d4gyIWb026hlifZv2KGO1uRycocpHG7fdCWI7Uenrb4QRviDD1sogCJUp3XlZfPgsT+NILBxvD9o2oGywNhL7IfeaItsWEtzJhrk1jJ+MR9HhDg22r/Dh2d8PF4tjMbqLct2qgJsrDwdr6mVJ1KAG9shzJse7eXNW/a5/sknMLzEyJkggpLJD/5420ZaZUysA3dec9IYqYG5I84eoZBvSZ2sjzJW+QWSJ3LpLp+fay4EfsoBuU3ZhIOmJIyBnvJzKqnDNr6LHjpRh4NtvEoY70Q0rxhauNRVXn+/q2Lx1eEJ8KsVKUT3afB51Bi/5oBcXhlGzSLpuADCcHbyByPPbMp3K9VPwGCnnEGIjvpd7i/Q1g3kOPFel5skngafpO+qNb/X9BgTbF5iWVI/XKcV4DBXbI64qxrYm2eps05Dltt24wZioGGtFq XDmM4wq/ k488cMqTD1mXdJiySwsnkTac12ZaO3GqtSSKaR9Gp/2RhJ7XJ0iFxyl8UobbsicbrZdvKmX0HKL4aevYJJa+BvThehte3DAh4xuYaZSrz4U/YNxs/WJ6+71NQSfs8Qdl74p7OkLar0egxooLGUBz4ugxFLFHF9+KzpBL36fHwWpVUgZosKHYykkPjTNdU5BCWSfIsqc7uQDDswZ85eXvdY4Pun6I0zo4emjSNxxVZ7/9n/p//Y3viymkGzFOGr8S/+rJo5VE+WLKaOzBjYBMqRlTA2MMchVq44XQVKOKaLNq6Pk8odvupvqEumN0eYKnNxnhhnD2EHBejyzrisQUP255Zb7Na5ypaTHKl 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: --p6v+ZIr+kcIsmhYm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Aug 16, 2024 at 12:09:01PM +0100, Catalin Marinas wrote: > On Thu, Aug 01, 2024 at 01:06:32PM +0100, Mark Brown wrote: > > +* EL0 GCS entries with bit 63 set are reserved for use, one such use is defined > Maybe "reserved for specific uses". The proposed sentenced feels like > it's missing something. Actually we removed the usage of bit 63 so I'll just drop this. > > +* When a new thread is created by a thread which has GCS enabled then a > > + new Guarded Control Stack will be allocated for the new thread with > > + half the size of the standard stack. > Is the half size still the case? It also seems a bit inconsistent to > have RLIMIT_STACK when GCS is enabled and half the stack size when a new > thread is created. Yes, this predates the rebase onto clone3() - I'll update. > [...] > > +* When a thread is freed the Guarded Control Stack initially allocated for > > + that thread will be freed. Note carefully that if the stack has been > > + switched this may not be the stack currently in use by the thread. > Is this true for shadow stacks explicitly allocated by the user with > map_shadow_stack()? It is only true for the stacks allocaeted by the kernel, if we didn't allocate a stack we don't free it. > > +* The signal handler will use the same GCS as the interrupted context. > I assume this is true even with sigaltstack. Not easy to have > alternative shadow stack without additional ABI. Yes. --p6v+ZIr+kcIsmhYm Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAma/P80ACgkQJNaLcl1U h9Dfgwf9EHMFRik1mUwmgRytVPWYPFLCBG8YZtDuO0Wxbs78KN6zc8ji2vFJ8lIJ B1hNUxCH6BOhm+AfFVF3zkoXZn+wjlPnLRGOPJUodgh27zecCwTCrwayO8ncECyf bIeq0XnjssL7P2A2wNVK0cFXU9W+Gw3OjVUAPUQmdC7lk6w4GwIMnpgQs1Vrueko IO1qBTeiV0rySxm/x0E14lq3kpX7eAcrBERnR+wfA17R4CtVClV2S1lT8YyUdYl7 n81clFcHhylhTBz7napWIOchWjXqicUT7zqHLPKHMVxutUuuT1Mc+obOdDSUsdcl 8qUKqX887cAFNJNPd+6Nlq+t+MtUZA== =6lHH -----END PGP SIGNATURE----- --p6v+ZIr+kcIsmhYm--