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 677CAC4167B for ; Mon, 4 Dec 2023 03:01:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 975D26B0287; Sun, 3 Dec 2023 22:01:55 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 925E06B0289; Sun, 3 Dec 2023 22:01:55 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7EDEA6B028A; Sun, 3 Dec 2023 22:01:55 -0500 (EST) 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 6FF936B0287 for ; Sun, 3 Dec 2023 22:01:55 -0500 (EST) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 3047C1A023A for ; Mon, 4 Dec 2023 03:01:55 +0000 (UTC) X-FDA: 81527636190.09.BBF3057 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by imf24.hostedemail.com (Postfix) with ESMTP id 4079218000D for ; Mon, 4 Dec 2023 03:01:53 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=Fokr2FK6; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf24.hostedemail.com: domain of thiago.bauermann@linaro.org designates 209.85.210.170 as permitted sender) smtp.mailfrom=thiago.bauermann@linaro.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701658913; 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=CQYiiiRLontcDI44whmeD/LoEJVxuqfkBiryqv/zBTg=; b=tsc8nb1Pfjh7ZX5FXBUSaRT2fe/HdDqoed+CZWkSVdb0I7aT40pDz5XrnXUTgSYuUDCHvK yTxhMPyi37BQTVVEcGgq/DiYws6ifxIPApxZ9fNKfPewzKh5j9qUYFGsl2QuuBoeggx3kp /1fzdGuu9XC/doB/LHkc2V9Jta+dFVE= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linaro.org header.s=google header.b=Fokr2FK6; dmarc=pass (policy=none) header.from=linaro.org; spf=pass (imf24.hostedemail.com: domain of thiago.bauermann@linaro.org designates 209.85.210.170 as permitted sender) smtp.mailfrom=thiago.bauermann@linaro.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701658913; a=rsa-sha256; cv=none; b=wWexW0+XKuL2PE17jpENQjTtoA8NltA8Oz6TAbhn2HAviS1R93wUrd20xU54EhCHdbSnb0 Zdx4lZUUNg35FbOIPhpTBao1Rs8z5OAVpl0CGui1zZIpP4hlUY66VS0fjj32tUm0Q2KTNx Uz11+dUcqM/a5oq+L0dMl7dZSqYByYY= Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-6ce2ff70619so302387b3a.2 for ; Sun, 03 Dec 2023 19:01:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1701658912; x=1702263712; darn=kvack.org; h=mime-version:message-id:date:in-reply-to:subject:cc:to:from :user-agent:references:from:to:cc:subject:date:message-id:reply-to; bh=CQYiiiRLontcDI44whmeD/LoEJVxuqfkBiryqv/zBTg=; b=Fokr2FK62Jvg1WDg13OuZO1y+zrbUH7ksPbBMzxgsHQq44K9Ht75Buq5I8Q9a8ulIx LXFiJpMFwGYAZlgwpkTxKutnvTdwacO7a188zMer0aPc2PkdSmFl4oQXrm49+qqtHTCB gPpiz3g9faCJz/+pKKz5Vu2mxMpX3Dy0rTKSokvL5yJPvc4RXmEBKuUdGfANxHAIvPBP c4TAm74GmFeKCK3OVioKmPwVARqxe99GszoFLLa92YMouCGw1I6FOvbgQ+BisVJHh3o7 ftFPpKO26spTDzXHC4oUq0BStWXkMRi3+tDJKW8yiXXYNzkFtiDG8shsruHuwCafOaGZ yaNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701658912; x=1702263712; h=mime-version:message-id:date:in-reply-to:subject:cc:to:from :user-agent:references:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CQYiiiRLontcDI44whmeD/LoEJVxuqfkBiryqv/zBTg=; b=R/HPr6TSyQBrTazJsWc+hlx1d+FptYfpc0krP4NdZw+9+1Ad8nzoYoSvTGp3aF3CUg yLFq7VfEaEieAhFAMtIuR4vQBFXZhDMmzynpk+QCIteMw6JvUIfXCtJi1XZ/fMxqmjVh fPJtRIl7a+GrX+GVGA6DXLpDrXYxyERi2OycYNIsKYShkC4cpZaL94gVmw+WjB3Q398b z3tJ1+f4HzJP/i1YFEokXoDA7EX5+leH0a1/YKyqRMQc9/VjefoTsBHYXz16JPS4Hlve tMcSfLrOfxVS3i+Q7ecKmntdDgKDtUh2KfvXb4BJ4tf7okO46uYwrDEDzhdeo+XgMruy V5DA== X-Gm-Message-State: AOJu0Yz2wxgjxAkzlaUE5MfDfmrHbi7X/2/GslX9cmScfZTgt/NRNtAv Zo7nvKzXm4f8b9vtXhWjPIxF+w== X-Google-Smtp-Source: AGHT+IHFLJUBmtnWAvysao8TWHQlyk2Cfpox9jD8bkyNgUP4wKyxIxGZHkfjhvm//XUEUavLfPd53A== X-Received: by 2002:a05:6a20:748f:b0:18c:8fef:22cc with SMTP id p15-20020a056a20748f00b0018c8fef22ccmr1035248pzd.24.1701658911982; Sun, 03 Dec 2023 19:01:51 -0800 (PST) Received: from localhost ([2804:14d:7e39:8470:979a:226c:de55:73de]) by smtp.gmail.com with ESMTPSA id c24-20020aa78818000000b006cd88728572sm6562301pfo.211.2023.12.03.19.01.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 19:01:51 -0800 (PST) References: <20231122-arm64-gcs-v7-0-201c483bd775@kernel.org> <20231122-arm64-gcs-v7-13-201c483bd775@kernel.org> User-agent: mu4e 1.10.8; emacs 29.1 From: Thiago Jung Bauermann To: Mark Brown 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 , Szabolcs Nagy , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Florian Weimer , Christian Brauner , 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 v7 13/39] arm64/mm: Map pages for guarded control stack In-reply-to: <20231122-arm64-gcs-v7-13-201c483bd775@kernel.org> Date: Mon, 04 Dec 2023 00:01:49 -0300 Message-ID: <87a5qqisbm.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 4079218000D X-Stat-Signature: zq8wjwhbp3bqs4eyzokmcig1qn4xuskk X-Rspam-User: X-HE-Tag: 1701658913-579929 X-HE-Meta: U2FsdGVkX1+SVunn8cSO0dOAznchqh7hWaNpoaTCFBThlQqBkUevJAVJfn21/qEo48bmzUgTvj31lL75qVc+sdp844Vk+iPwK/HPDFub5DUmRT+ly6tpFG/hOVq5u/0Mgemhel8130FJtfefppxmMRjtQ2NXz/new6xwbh7nwKG4bs59ZBe9WZtoE0aDOF5gzHZJjk3j9n5BQqPR0LbK7Dr1j8SWY4o03jlDYvGuMWPT+UjZ5h2i2rfFdFD5DNAi441G9LDWqYGQyA6YrFneJ6FLJYbzsqdc9CiH1Tb/L9A7ecTohHR9BkQNlL3ec1H3Laer1/6t4uRIDhiC64w5C/6IsB6aQ/55zO5D+OXYldt+QF6TK5TjMO1UrvyZYRrQDBK1qsa9oej/n5wB+uL1anbXfFepX/gUBeNwM9O29rSy7wn1c0bG46GuCd8T7fInty0RiDwfy+72D7w5XZEykBzRbZT4jipQwR05s36Qrm1PoltB+/fy8s8nyx6dUtP21Qk5C65T/NptByNe+tjcati1A7GHPP9i012bZYIVUsjUKK2bTrOJ8bOG+BgafwxSPDSRbNNmTWjYyjlTwRCHhrkiLlEV9VVzmSPaC569J3g+dgM0W+SJrZ1nn6g/eRZmVoymK/ttA4Itknagf7QpWyqwTB1k5GDpm9iUZ4sS9UvQBSortiCCKE5XUHAviuh+IiARja0K9BccUJKV0L0t3cCHaeF952o29KUkoSg55BZQXVzv3KmqCONq3Csoa/Yxo5oBnxzoGzDED+oh/vWgN3StDgfgxesaE1GVo8pWnPyGL2fjrIoiL5VGNSWV+W1r0VinNbH2tkehKlGPA3Iz1aJxtVSbg8Pmoy4aRKZs0S1oBJjN1V7EZTGz3SSWqYPut3VDRlrgNL6Ph7J284RwV4Qp/31aT0IKif3OcajZIXjJttmFBvQ2ifIgJf3dDAPi6pdxFgbJgIEC/80CmdX LvwFuXK4 veAbuK2w1UvdM6yE2I/8qisix0H2r/3fNbAYW6im4dOB1gLryRrhmj582zaSSC60DhVzU9ljfrbbeNva3nczkEdz1utmj6yjTaM2QuEw/LgtVHvXM3kUk/v0ar9oSHxnKzFnpZTQsMxlw80LEJvCdaAEKhgsVsTF0XKB5f0xcNf+YwnrrBTZ5BRko2s6OHfr0tec8QKIJfTJrZHYPJOW+LfQAIDL3jQPilL+LBs+HyJUKAdQOnoU6pxiptIeKRb5p6nWFgW5PVx070SRAiTu9lFNyJPVLrGQXM8/YsoUNcsj7rxxEBHephw6IVLOwtWqPSa6to0TZA8DkqI+ExmpSnejWdV6rIcJ5ksRIBnnxEkdWvD62vz/Vrdnt1v8zY8AAUn8nS/chp7s4o+6w579gdJmdIOtygq/Pd+N7Ij68elWCBMMtsvrnQCinT6LnDOctsUu8Cizu9auMhjSZUcwC9MijA6NrrcRJdRSL 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: Hello, Mark Brown writes: > diff --git a/arch/arm64/mm/mmap.c b/arch/arm64/mm/mmap.c > index 645fe60d000f..605d4e6edc1d 100644 > --- a/arch/arm64/mm/mmap.c > +++ b/arch/arm64/mm/mmap.c > @@ -79,9 +79,20 @@ arch_initcall(adjust_protection_map); > > pgprot_t vm_get_page_prot(unsigned long vm_flags) > { > - pteval_t prot = pgprot_val(protection_map[vm_flags & > + pteval_t prot; > + > + /* If this is a GCS then only interpret VM_WRITE. */ > + if (system_supports_gcs() && (vm_flags & VM_SHADOW_STACK)) { > + if (vm_flags & VM_WRITE) > + prot = _PAGE_GCS; > + else > + prot = _PAGE_GCS_RO; > + } else { > + prot = pgprot_val(protection_map[vm_flags & > (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED)]); > + } > > + /* VM_ARM64_BTI on a GCS is rejected in arch_valdiate_flags() */ s/valdiate/validate/ > if (vm_flags & VM_ARM64_BTI) > prot |= PTE_GP; -- Thiago