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 8CB87C64ED8 for ; Sun, 19 Feb 2023 20:38:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C35F3280002; Sun, 19 Feb 2023 15:38:41 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C0D11280001; Sun, 19 Feb 2023 15:38:41 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AFDB8280002; Sun, 19 Feb 2023 15:38:41 -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 9EDDE280001 for ; Sun, 19 Feb 2023 15:38:41 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 666AD1C5C18 for ; Sun, 19 Feb 2023 20:38:41 +0000 (UTC) X-FDA: 80485204842.14.A2BE22F Received: from mail-pf1-f181.google.com (mail-pf1-f181.google.com [209.85.210.181]) by imf30.hostedemail.com (Postfix) with ESMTP id 053148000F for ; Sun, 19 Feb 2023 20:38:37 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=TJUJ1J2A; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf30.hostedemail.com: domain of keescook@chromium.org designates 209.85.210.181 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1676839118; 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=cNhE2FASeH5o8yi0ZLyiaK0kUF7pA0USqp0ltHH/0Fo=; b=FKnsyRqEIYyrZxeSKjgwdncRcKkOjM/i2hSYLit7kAfWbAyPCHz6pT0chB7GeQt8JF/pPP ra8BiF4igULvC3WReYWCS1Hdb7c+mISCZg/mefMExy6K2hCJEnFedT+/se/Bv6UuRNSkae a6ECl4G1L0wvnzSAfuF/Doi5yRV29IQ= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=TJUJ1J2A; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf30.hostedemail.com: domain of keescook@chromium.org designates 209.85.210.181 as permitted sender) smtp.mailfrom=keescook@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1676839118; a=rsa-sha256; cv=none; b=MHq+yGCTzzPg7uzSkciBQO1qWj/j4DZQ1RtbOCs4E1e//LVGipgm5z+c0bHTSMWdnTi7Dm D3O2Wulhc3YGNrCvJ3zwGTGCepDx0zfbJ4XO28gDgIWwYzuNLROmYnLbXTj2RruK48aFKV nxLkN57c3PiBnp+HVFf/1J2bLdk5gyo= Received: by mail-pf1-f181.google.com with SMTP id fb13so624752pfb.7 for ; Sun, 19 Feb 2023 12:38:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=cNhE2FASeH5o8yi0ZLyiaK0kUF7pA0USqp0ltHH/0Fo=; b=TJUJ1J2ArJiZ+C52sbA4rJUl5jkwfEU0A4lmboDWRNDWEfBXuFPkUHzTEyJZAm+S4p Wge2lQiBs7TGtXwWkE0b1xhZw6outUBXabRYNKQBImrjMsw8dd8fr8oWOeq3BFAQBjtb 8uo983lQimMC+dk9fekE1rNd+VY9r+8q/tjI4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:subject:cc :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=cNhE2FASeH5o8yi0ZLyiaK0kUF7pA0USqp0ltHH/0Fo=; b=7NdZz6IgKRXZskKN1ks2G2cKQVmjrKWDTXvN5REKa6dRES+5gagCVnGz8K7xfJ2Ohm CTBbfuS9o+fC5EjQ7d0QUHZTs7ILJ+Lk0qxhm45izS2M/hzCDfM+mJ5fXi7WwraTEW+n hvk85hnojf/TGc65zLksQ0JubRuk/Gxs6h1vWOk9msUyQtjhHR0XPFTMKGnoHMjmhAJI TxJH02fZO41NvnKZ6wY3vm8f/EYuKcdCH4UXaxZqUBHhTnp3vzkYDiytzwdzB0rf0f6C 2N2t8Wiwc22Cm2b8tpeRMKzd0hyVjFN/GbzV7iX7TTIOyCcaDyDvCFmchMCgICOboIgN Nk7A== X-Gm-Message-State: AO0yUKXqcOAbAgDHqdDDChxQjFbpaR05HnPAlxBGCY2MjQA/7ZiHu6x3 F0dmnuXjvcn1t1bQFcM2THiTzQ== X-Google-Smtp-Source: AK7set/XVAl5klPqjExLu4JTPo0Bl98f24f9lS+8n7DA1eEGRV2Dh4JhkKn00B8IKrJYG+VivvI0vw== X-Received: by 2002:a62:1a57:0:b0:58d:d546:8012 with SMTP id a84-20020a621a57000000b0058dd5468012mr769767pfa.0.1676839116854; Sun, 19 Feb 2023 12:38:36 -0800 (PST) Received: from www.outflux.net (198-0-35-241-static.hfc.comcastbusiness.net. [198.0.35.241]) by smtp.gmail.com with ESMTPSA id p21-20020aa78615000000b005afda1496c6sm2648912pfn.31.2023.02.19.12.38.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Feb 2023 12:38:36 -0800 (PST) Message-ID: <63f288cc.a70a0220.5558c.3c92@mx.google.com> X-Google-Original-Message-ID: <202302191237.@keescook> Date: Sun, 19 Feb 2023 12:38:35 -0800 From: Kees Cook To: Rick Edgecombe Cc: x86@kernel.org, "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H . J . Lu" , Jann Horn , Jonathan Corbet , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , Weijiang Yang , "Kirill A . Shutemov" , John Allen , kcc@google.com, eranian@google.com, rppt@kernel.org, jamorris@linux.microsoft.com, dethoma@microsoft.com, akpm@linux-foundation.org, Andrew.Cooper3@citrix.com, christina.schimpe@intel.com, david@redhat.com, debug@rivosinc.com, linux-arm-kernel@lists.infradead.org, linux-s390@vger.kernel.org, xen-devel@lists.xenproject.org Subject: Re: [PATCH v6 11/41] mm: Introduce pte_mkwrite_kernel() References: <20230218211433.26859-1-rick.p.edgecombe@intel.com> <20230218211433.26859-12-rick.p.edgecombe@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230218211433.26859-12-rick.p.edgecombe@intel.com> X-Rspamd-Queue-Id: 053148000F X-Rspamd-Server: rspam09 X-Rspam-User: X-Stat-Signature: f3h6m586r3z1etp4ch741febgbj89ouz X-HE-Tag: 1676839117-5296 X-HE-Meta: U2FsdGVkX1+d9MAbhzoTFUfgB4R884jLWYYQ5ApmEMKTGOrsVAEI6w0Zo5r4JuRzVOZZE21iPRd6lNQbpYi5zgcDSA7uxFBrqkENQI7abH61uNeGTCjeeqYDG9nxRN3PH3Wfj53GMklet6mBu4PD7s73wr4SBYK6o2KpySmLiqvqXlUqptE4OHAEHkd54cxWszs4oPRzCqr3SDc7Rbz+Q1KCn9TUIq9tv4/42bN1RFEEQBaP8+8Fya+qJRVGuQ7tv0ZZYbGxXeD6gjCALSjF8ggObBxvef/bf2wnhI0D2/kePiq6p1h9wmTGg3N25eLqFq98jpz+gLAvwjM4RbVlu+RJzjvWLVtgboCVpV4LkjiS5B0kYl2Apm3OnMAjvJZEnJJhdddrAF9/qe43bcFHgeX30DUAtO5s2pW2U9GoH3yWSdzuWfIwZn3VT0YGxJZ2TdinxcM3F0xvTavg2OmD1ou71yWbs0KCcAZFNVg7+2RcmL40xjilJmLwti4q6fsB7enatbmcUPSZoZ0FYG2mfiqCPm0bDCIfre4L/mINF5733X5aH6CwA8wxqAsxC3kvT44o5gwnpHRhBXYYXK6ddRdcXxaRcI6jhlK48vMCmm0Zp7A9Jgc5PY1+2w5fUtfO7Wj6iFbQgGNw2ixb/WHnTwft/mciyKJyXA99kguRapb2bm3pHskABKzDCgBygL8LUDHE1i4CyaEkQHCqZ0fbOfZBajzwBoMV9SebQx3FkDP5xXLnKwmpw95wV5UETFsTiZfmGnkB6n0y2br2bVjcMFbeDI+2byH2s3vlvs46rA9mAnGdlT92rEY0VMZvitfl7d7yb1psDYsE1ry5CNGZ1deLAEvjQdBTr6rOWXk9Hkq+6wQ9a+uaeM88Y/+6EyXDAMVPqmlbiLBtyaiou7CKN7EKx4JRFhiuhKnlR5vvl+tpMYsmGaTguiLvJFO/lOUnaQWy74yj07M5aOMgBH6 SFPYNvi2 lKTQ/+e53mnRf8LLkUnWwkjNzyt6DhpU2EPK/+xoW9XxOWmQ6FrJP+dD72L9Z7UAgoF0qvIMJIO05OQu6ZpllmdJKt3NAqOuvUrgvNdXfBfenAQwNyT4zPVo0nLwNRCRGSEuz68IQp0TYsln05U7uevGC9ZPfzGCbnNHCKlxDEanSs4fPc9NfT74KgB1JYQZX0s7Ho+SXopETadK9Kt5lMGt7xwc0w7LkVptJkifuCEdklGYY/1K0D/ZpZYFgSZSrvNzAhmQeWXcrNmBJ+4GpDdyrJ7HWzvKTx7IOrpsovhC78jkKMsC88UJ/RRTSzVfZDcio4rBLHbPzrxruqIeWil+m0AsjC89Lo43ykAt/4umf7a15Zm38SKJuu704lmZaz/zPAFypVFtv4nvQaR8ZBFqIbFINy1E2b7fze1qNsICZKpjgLyPM6/DbUjmLpB42giCvADuaODbc8CVK8Ktl1nBJ/zvQTwZbBeOiVnipPCZRphnDS1qrvP1Ytp+NOWTFN+6AP7YiQkLmqFaTcA0uIzQPNwTvmXkQL32pRAXv8JjMlEUCvNl8CKYFtES/SLt1SJeEyuxdd3PxbvoIy596qVwftL70ARUsZR54Mt0Csnlsp20lXl4XaaeQMEdONW4tXkQ0p4/vaBFksoMR7M9q5jpgvZ0GIfbdBDM3dTftxm52V0/lnmou7T5QhAxn5klt0ouPsww1pBO+x5VGkv4QSpL3xet2GEYxNNMZ/dJhF31NWN9d0yzWmO5+sGdGuWy7EJY8KTvDGhG3mXkXYgIBJgFWiuEmS+Xap9Eo 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: On Sat, Feb 18, 2023 at 01:14:03PM -0800, Rick Edgecombe wrote: > The x86 Control-flow Enforcement Technology (CET) feature includes a new > type of memory called shadow stack. This shadow stack memory has some > unusual properties, which requires some core mm changes to function > properly. > > One of these changes is to allow for pte_mkwrite() to create different > types of writable memory (the existing conventionally writable type and > also the new shadow stack type). Future patches will convert pte_mkwrite() > to take a VMA in order to facilitate this, however there are places in the > kernel where pte_mkwrite() is called outside of the context of a VMA. > These are for kernel memory. So create a new variant called > pte_mkwrite_kernel() and switch the kernel users over to it. Have > pte_mkwrite() and pte_mkwrite_kernel() be the same for now. Future patches > will introduce changes to make pte_mkwrite() take a VMA. > > Only do this for architectures that need it because they call pte_mkwrite() > in arch code without an associated VMA. Since it will only currently be > used in arch code, so do not include it in arch_pgtable_helpers.rst. > > Cc: linux-doc@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-s390@vger.kernel.org > Cc: xen-devel@lists.xenproject.org > Cc: linux-arch@vger.kernel.org > Cc: linux-mm@kvack.org > Tested-by: Pengfei Xu > Suggested-by: David Hildenbrand > Signed-off-by: Rick Edgecombe I think it's a little weird that it's the only PTE helper taking a vma, but it does seem like the right approach. Reviewed-by: Kees Cook -- Kees Cook