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 4C1E4C001B0 for ; Tue, 8 Aug 2023 20:42:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CF4C76B0071; Tue, 8 Aug 2023 16:42:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CA4F68D0002; Tue, 8 Aug 2023 16:42:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B6C798D0001; Tue, 8 Aug 2023 16:42:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A7F826B0071 for ; Tue, 8 Aug 2023 16:42:34 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 68F741A0DEF for ; Tue, 8 Aug 2023 20:42:34 +0000 (UTC) X-FDA: 81102110628.30.493667F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf27.hostedemail.com (Postfix) with ESMTP id AB09B4001E for ; Tue, 8 Aug 2023 20:42:31 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Hkx8tFHE; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf27.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 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=1691527351; 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=p3CpzgpK9/vkdW90nYOwp2UetdAT5FsZJRywwQAMkIM=; b=abpERtdX6ER8ssSu6OjPJ1SztGWe/aDzoRxWS4IGoSG/NF1y87JneTBobjUCRv+DsPF3i/ dalAdTOrO3rHsJg6jdDMFlrVho7Di1AUtnw3e65zSHn5Oq9RMB+PdRXMi41YNutOI5Sz4z +5eskcw3ddUhibEwtFuwNSunpyTNfzU= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Hkx8tFHE; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf27.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691527351; a=rsa-sha256; cv=none; b=wZlLOWqEIqsfWtl9BkzflMhe0wmNIjJRbeFbRKleQv4rkolAJlePTGjpCyo02iZJf58PBu 1wB1iSxMMi+kXt2NJ53BFz8/kHIIQBPGNA0DaU3mKCteRssgADYaYxRR4rGuRFEr429lVa 2yEd8r2ex5bIznKuGykOe1R+33dNT+g= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id B7CEB62B39; Tue, 8 Aug 2023 20:42:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CCD7CC433C8; Tue, 8 Aug 2023 20:42:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691527350; bh=KLqUngF3vFNjZyVU1zCXyvfBsVeYIJBflOdj05tEw0A=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Hkx8tFHEcSmSd/pdVhIsTiCpPGZ8uPf9NEXvhA7T1JE0q+KFDzDda7u74mkgkO92P D6BrXqWbCduifpG00gPnMKsZMBCqDXpp1kSKJ9YwnTBNfINsZ/X4bV2vVtFJ0BuW4I DzywDtHXbqsAHFmmOaUr+A66TeVuRUsMnJOV5LKFRw6aylWaQEdokWI2Ho+l/Jgo9p VECTFyGkyg5IJ9/WB3x07RywFKIrHg4+3wffsKp1r8oys5VpCJBVALKOqSWjyTVJpe QLSrnevT8KKCV6CCbD8vucQ4bjl5w0l+9tsB8i/nTaItUBRxtIG9ynqlNvE8ald88c RSgTwpjk3e9wA== Date: Tue, 8 Aug 2023 21:42:20 +0100 From: Mark Brown To: Szabolcs Nagy Cc: Catalin Marinas , Will Deacon , Jonathan Corbet , Andrew Morton , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Arnd Bergmann , Oleg Nesterov , Eric Biederman , Kees Cook , Shuah Khan , "Rick P. Edgecombe" , Deepak Gupta , Ard Biesheuvel , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , 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 v3 21/36] arm64/mm: Implement map_shadow_stack() Message-ID: <0cf8f1fd-f4d4-45b3-ad49-5ec5ebc5a24f@sirena.org.uk> References: <20230731-arm64-gcs-v3-0-cddf9f980d98@kernel.org> <20230731-arm64-gcs-v3-21-cddf9f980d98@kernel.org> <3a077ff3-8627-4337-9b4a-6a8828eda0e7@sirena.org.uk> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="75LSeCYWaZU9+5nJ" Content-Disposition: inline In-Reply-To: X-Cookie: You need not be present to win. X-Rspamd-Queue-Id: AB09B4001E X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 35gixcdwbmuoon3qof8o38aagibd1zfz X-HE-Tag: 1691527351-86646 X-HE-Meta: U2FsdGVkX195hMkX7dC45GombPx1QMtijtgA30tNV02EDheUlYP3ORsMRA61tmhk2lmDEMnKGSTujxe2jGlOe10uBrWe3AbZuG8CTJ7GW5WYhQBb96IshBOY1bWtQ2003qgbsJq9TUTQDhTw9k+/V9rnTigUEuUzPkk/+6ZYWC6uJPMWXyeBq3GAVvIVHn4qAW55kPAGnBr838m68kciUKLHkEz4aFhuJ1an58B7YW3lwVizOIwGS70oD6IPSRIY/1+WdukqLOOgiikRBUM5ilNOA9YCucXN4pRtzWGtduhLVj1ZwEqCtcMx+q4X2jMFIN7Cnd/tQtRzsvcaj2JjfaYiXo7iwPapFZO644lkK8iADxZm26LG9XqQe4xXoLSh2K0UsuZqkDOiyaF6yijojFEWYj8Na2ypA7UXCnbvC5cIxPWuLNYBXBXd5v5JyRLyMXSMLsot8bGT1/9OLnVTl0Vl4XcvhWzq4jYjPh0PPjI7n+dfiFRLDTyIiD/9GECJ2CgkBNK0y0UxJn9AGKfD3LmTSQ3x7bt9GSHOjXPtxUiGOtjvrgJJ82M/HbHzQtgYYlbBkT5QeU4X49sVyFoW0WaS1u5UgT35lGl2wVsp2uwGov0wV7CrpWmbTHi1fEWz7AKG70WjCSr1K3U6xYwNgE1UCWv8sZw7iaJ7o/dhVm/jssgiDXDI7/BSPPG7WQp+RcwGAFkJ1O6ogJ/EFDnuv6nENElyu5NNvhWro0xEbAISQs9r9RdLO+25Vmv/aiaMsyiaW7G2jNgRN4bWee+lr09IqqiEbnymBWj0rJrrCPuddEsWGeQkr+yaYggY6bngxZhDtV0UwhNjqLUTSCmY7dZxgRnxNjXbMRdVVHbHk+4oUrVGeUaI6h+cnMJ92XoCC0H3uqFfpsCouLRD0muv0Mqqghyd1z6o/OdnZeduq5oB88ywUTvhOsZed5ricA8lBsqsskemCV1WubG3P0G GvZ7bjVV hpAI8fJ5YJ6C7Q7MHH2s+aZjTOnAbmsEAoEnOs7A+cKskaiA/bQEVQLW3dE+v9OUDjsCuLI0LiQZjCvWNgfFOSyI6zun8ZryGahGV3aeediNh1P6wb6n6V0mKHa8byU4pS8vEsEVyX20IN3omCpO5V+LemO8qN2pJSQp/cOS3Es9PGhJm39pzNsJaUaCkXtIJfvNr/GQlc+72LnZmw9CKX5rgjocr5Llxvp6XSlVzVtOi6KGC39kNhXEnrE108TsrCsrABWjEf0/6IDiijnVzjHZjNmszsr2kwh0IYfopkuM7LeqX0W7DFqbUv42ynMGXK9K2uLqebd7YzsBdEYw8ewfievjeFIdyOIQJ6zEF9pu0SS2wAiE/kNzMSJXRsqvyrOOvZNF/p4mONCOemiWAXelnNZGJhx89pNZUI7QZbRnqwOZduflMAtab3NO9tjff9ysgP/3jNa/+UG3kR2Fwz5Zz7Q== 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: --75LSeCYWaZU9+5nJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Aug 08, 2023 at 09:21:03AM +0100, Szabolcs Nagy wrote: > The 08/07/2023 14:00, Mark Brown wrote: > > That's not what the manual page or a quick check of the code suggest > > that mmap() does, they say that the kernel just takes it as a hint and > i should have said that i expect MAP_FIXED_NOREPLACE semantics > (since the x86 code seemed to use that) and then the mapped > address must match exactly thus page aligned. Ah, I see. We do pass MAP_FIXED_NOREPLACE when allocating the stack if an address was specified but currently leave it up to the VM subsystem to figure out what to do with the address. I don't immediately see where mmap() enforces this requirement, but I have to admit I didn't look overly hard. I don't see a problem with enforcing a PAGE_SIZE constraint here. > > > > + if (size == 16 || size % 16) > > > > + return -EINVAL; > > > why %16 and not %8 ? > > I don't think that's needed any more - there was some stuff in an > > earlier version of the code but no longer. > it's kind of important to know the exact logic so the cap token > location can be computed in userspace for arbitrary size. > (this is why i wanted to see the map_shadow_stack man page first > but i was told that comes separately on linux..) Right, I'd already changed it to % 8 in the version I posted yesterday. --75LSeCYWaZU9+5nJ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmTSqKsACgkQJNaLcl1U h9AuoAf+O+IZyJ2WsrUsv2iiyK/bNfKz6UPd4mztZDvaNs7eb/cJv2LxftttubUm ylVCfdJZ50MxIN96kAREHXqiG51v7ab8riEFK1puVDbbnCQzP+qPb67HnyeJA+eP y/G51VNYUA+n9mnB1hQgqwtqkRTCLfgE2uX+rXQj+yoQMO9eqwx7hJU32LaT7ReN 82F1d4g+o08IJR4pqL41OnfuoXtSswkeN+W4ODix90Im31z8oXU+KhOdlg2FPOwf eYLnaE+2b0TySQGqjik3cLjGTQZySBerzjLi/2SpdzJx+OHzus/8kWzGWsiZOvEg CyJ1jHyJf+ImWGDIY22GGPPmIHRyQw== =DrsG -----END PGP SIGNATURE----- --75LSeCYWaZU9+5nJ--