Messages in this thread | | | Date | Mon, 20 Feb 2023 12:17:09 +0100 | Subject | Re: [PATCH v6 11/41] mm: Introduce pte_mkwrite_kernel() | From | David Hildenbrand <> |
| |
On 19.02.23 21:38, Kees Cook wrote: > 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 <pengfei.xu@intel.com> >> Suggested-by: David Hildenbrand <david@redhat.com> >> Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com> > > 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.
Right. We could pass the vm flags instead, but not sure if that really improves the situation. So unless someone has a better idea, this LGTM.
-- Thanks,
David / dhildenb
| |