From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="q3DwEmB4" Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8CDD6F3 for ; Sun, 3 Dec 2023 19:01:52 -0800 (PST) Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-6ce403523e5so162601b3a.3 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=vger.kernel.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=q3DwEmB4PoXI90W8n4dpmreCIn3QymFrI+vnck8BQ4dZsXgYzdXpJMmLdCZsaQ6W/D cCuK7B29+4/j/SkY/E+9CTj9nzcV0g2DJ5jYfDlkyQ+Ovvj1Am9zG3tQH0rtpapkcr1h jAwkf0pAEEkKC8bGb4InCLPTPtxTR1y+i7Uc/7KHnIieKwTm64vsRpjyd3APhjoiBaBO ULZjb7JIafyeidTMh58sJPA/6HZysYsXrcLxEPfmTZpWPDzC7cgpN60Zn/w/U9YJQf3Z ktGaDBSOto0r54hhNHk1gVGqZgPEcQcsRm/RNwTMI6xA6LplPnjn9zVvxD5/pB65rjb3 9eXw== 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=Guao/fAlSggiMedja8zKwwdpkolYOeQhYvVitW5t/lmW4qjw4fGnNnWcIcDHpHiK/Q keOuJGYjIR17I82XXBpuj/IYBAisB0L4idb1d4YpjRduRu/6eQ+zlibG7CPYMJ/gtWvO u5xYUzA9xoKtDE5WYzdrYodR5gv5krnJL1J99xWHLsG4H0IuwLWZK4HcJpFD9lfu/HkZ wFstfnZTrdMRHYwKN5Y5YgIdJ9n03HAG2KjJRkhtezNeL8IqpOoaoqyFlz9ES1ElqF1A 3tR59Vyu0Y7Dp6L9Tl9KH8ItDZ41NpVv5zDF6jnDCRFrYElVbnEgFUStuOMm6ZIgs9re xXpA== X-Gm-Message-State: AOJu0YwMtEEsyRzIP9XK0lY/KVhQFutcdjll/qQ1tjrPIvXtSX13WUiU +4EK+/amQGh2R+1hzJ8/A3Lr4Q== 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> Precedence: bulk X-Mailing-List: linux-arch@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain 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