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 13BD1C5320E for ; Sun, 25 Aug 2024 17:56:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EF45A8D0014; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E7F5E8D0016; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B22658D0014; Sun, 25 Aug 2024 13:56:49 -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 806B38D0012 for ; Sun, 25 Aug 2024 13:56:49 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 331F81407B0 for ; Sun, 25 Aug 2024 17:56:49 +0000 (UTC) X-FDA: 82491523338.15.230EE0F Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf10.hostedemail.com (Postfix) with ESMTP id 7954BC0003 for ; Sun, 25 Aug 2024 17:56:47 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ikqtAQwt; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of broonie@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=broonie@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724608538; a=rsa-sha256; cv=none; b=u5jaryhy0zKtiaTfK9zBjVTr+VqCNNrhyqakesdoAuXdQEM00Yy+r0UiHCF+hEz4JBKk8T e1jbe4ht7YyTo100wAdCjydO1Ynuxpcc8RrauozBtWC226QqeAilormzmvoYOtgxpCqjgi 7CCVjEKv/hCw90WJHsnFjUorbKObWCY= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ikqtAQwt; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf10.hostedemail.com: domain of broonie@kernel.org designates 147.75.193.91 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=1724608538; 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=ov/hhJ9MVtV9Kk8X7p2foml9uGepdg4vJNR6kn85dGQ=; b=VOHCmGxe6XyroZL2yLtw4ip4OW3Vziy0xtp4bUCJMx4kaet8l9vDnQn4/1q8f/Q73szhnc 30rl6KyD1S2OxXpvgZ2qRJbBESqUHxGI9mu+zPznXyX6SBVSToXVe7cqI9xLOIegzChPMt o3FCRHZwe/PHtbG3NSlEm/q65pwjgy0= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id B9C39A4049B; Thu, 22 Aug 2024 17:30:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 85044C32782; Thu, 22 Aug 2024 17:30:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1724347859; bh=NEmbbg8L2Bfrsg3LdNNpLmYp7+z/wYUOhdnFgomJAhI=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ikqtAQwtRrEpLzRohAGA+qNmOG+TVb1qThYeB20Y/Rk8LI7FU0VJET/gHeWL16BXq QZJfX39NMfafJ1FzVkN4ltE2CZW3ItKeVYt8IycDgCeLLfuh0r2uRLDWZ04/PypHs6 s+MGNZPewB6jtWVhV7hrSdK3dA9ZJDHvvHhPAtsfxbo5lcriqWLIPch63YvNEb7bvj mKT4+II0xSVQPbirmPqGpXOCJtrJ5BOwbz+S2JpDOkZcFSQI6txfB5pByPQr/Jo0Mu 8SvR/xM9sWHMARckle6xSHr228r6G6hj9zO2NXqWhsK7TG51FQwJDp+RQ7WZOdHsEf rIBkFTrNQkZOg== Date: Thu, 22 Aug 2024 18:30:55 +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 , Yury Khrustalev , Wilco Dijkstra , 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 v11 19/39] arm64/mm: Handle GCS data aborts Message-ID: References: <20240822-arm64-gcs-v11-0-41b81947ecb5@kernel.org> <20240822-arm64-gcs-v11-19-41b81947ecb5@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="QBL8uS70EYGjHk3p" Content-Disposition: inline In-Reply-To: X-Cookie: Your love life will be... interesting. X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 7954BC0003 X-Stat-Signature: 6dh8aqssuhfn187sfem6948dw3qdaht7 X-Rspam-User: X-HE-Tag: 1724608607-541310 X-HE-Meta: U2FsdGVkX1+EVWQmB05b5bvE+b/hdqnIFxump6puLOjQ5h5EHHYIs7ZLfL1ZAPTPHR5iGof1a97LvzLtfzfBUa9iu/e649spfdpAXoWvtaedcR628Tw8mSk9Hp/ejBFlHUhpG1y0LE0u5LZhI8O8bi8hoLX0BXVUlocqLHkcxP/5c0uX+8a2zhV5W+R14QZecwhS1mR4CGpSOVLTxB/H1o8NlGM1dPf3h/4H5YPIzTrOa6zevr/2PbFIBWRykwAJrds7IMChqrp1BjF+d4tzndyXoIeU0nJmyhrVAj8ZHLkYB+5IxjpL05a7V2jusDrUkb7bd9rk7MM0FDSpZlyeovBxGoqxVskAGtF9pL4+5BYr2aflv8SVhLdoMcZQSppyzMDD2WLAmPjfpwxJ33WjXXHgVI9uDa7SnAq6vtXz2HAhvoHwNyD103ww3YnMqghVP4IqEJQwfSn50SAnokTk5JOqAD/jk3WvLWZX9Yw2tGrX7XlaykU+dwEggLJbvhjV665h9vV00Z2Fh6y+7jYlQbylNDpUP7cNbW4Mg1o77afs0rw9kaL6uV7lBFrtTMSoXMO3YRUg20FdVqB6r2d0jz940E3e42oPDGELMn/FZQ9IyZ1iCMtEey9yZhx+ilppem6yPAQlOFjiMPTnHBdDpS/LqMW53sMsGoGol1UfQf9NZbAXg1InClzekO/+uZnLijuGlrP7Wdz+tB9ZxqXcGS7rFkLfoU+NNqcRf/sGAElxAgXS4UxXX8cZZ3B4E/a78j7vLZIZSKyaBGb/A5mLshbOpA5DiCVFNiawYdLN71hJaaKYCz/i2+vwpg1srpAShUK9DuQRXoW5wNR01SD7s+JxSCZ2nlICa1H8K66f4hSTaLzZy5zVfauuU1ntSBrYwGEECMmtiKt5PeW3rg/8S9pFlXpfhPOk7+K4R7k3okTlCVWR+/jLi5cc1Rmb8uncGnzMOGoGdQ0M65PcCDB UV1STiZS iVbiXLCP/5SBKa+fRS+3Zlt5i9f6avHBXNE+3zZFyIx2tKSUEzygwxF3yuhoyrIiFOA5LzynsvoZDHaAHOjAw5NOoaPGrhdNXEkR9pHbBbh6PHBceXrK5e6gwTcNhyGqsmJ+4qi2Y133+dd/++bTfI1gmQCnEDt4COK31+zFFUbGI9UGeITRdEuZ9YFgZYqYTDnVK6COt5PDqwE7cXfsvSDvZVDc2dCu0/igQS9YfxfEpjA13a/TX9haBB/Bl30fMnaA50y3JpFC65znGlUxYeUWja/34vtlQSW6i8JmkaLtf7NUqnoi5xVqf2J6q76oJnoC/VasGDhuO4O41ZwO35akR3opZcnI20Dd6hBBMkbL/jLkO4cWSnAf4HLGVcxF1xVvdVTeC20db5qo= 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: --QBL8uS70EYGjHk3p Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Aug 22, 2024 at 06:19:38PM +0100, Catalin Marinas wrote: > On Thu, Aug 22, 2024 at 05:44:19PM +0100, Mark Brown wrote: > > On Thu, Aug 22, 2024 at 05:12:30PM +0100, Catalin Marinas wrote: > > > On Thu, Aug 22, 2024 at 02:15:22AM +0100, Mark Brown wrote: > >=20 > > > > +static bool is_invalid_gcs_access(struct vm_area_struct *vma, u64 = esr) > >=20 > > > > + } else if (unlikely(vma->vm_flags & VM_SHADOW_STACK)) { > > > > + /* Only GCS operations can write to a GCS page */ > > > > + return is_write_abort(esr); > > > > + } > > Yes, that should check for a data abort. I think I'd formed the > > impression that is_write_abort() included that check somehow. As you > > say it's to avoid spinning trying to resolve a permission fault for a > > write (non-GCS reads to a GCS page are valid), I do think we need the= =20 > > is_write_abort() since non-GCS reads are valid so something like: > >=20 > > if (!esr_is_data_abort(esr)) > > return false; > >=20 > > return is_write_abort(esr); >=20 > We do need the write abort check but not unconditionally, only if to a > GCS page (you can have other genuine write aborts). tThat was to replace the checks in the above case, not the function as a whole. --QBL8uS70EYGjHk3p Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmbHdcwACgkQJNaLcl1U h9DRZgf/cfCggcnTIkzrBOCGpdBnnvrHenLxqYdUHuYxfAA/f/+OY6Ryiz7GiVVN dsEg7gYHWwsk0cTwEgGm++++b84foIZ1WeBZ46XlkFKSK0McT1h01SxvUqi6bu3R Mj62HWq2M43bg8tVzjIsNFMIZKxKg/8RJVKFsg0KTx/Y4JLXoJkLtplgh4eCuxh0 Xg0yYgmx4aE7JOYegrvzRVUuj0F6rT8Io3eU7LbdJ4GpP28wCf6jVymCjyhQOHav sWHIP3j85jUutzI9HQAsfUt9BnT6GMnKfu16R9nOAdGgfc/XMzzW7lgzRJhLeroa kebp1dN/8F8ek5AKqLqstfOmgDdTzg== =+1Rr -----END PGP SIGNATURE----- --QBL8uS70EYGjHk3p--