From: Rick Edgecombe <rick.p.edgecombe@intel.com>
To: x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
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 <arnd@arndb.de>,
Andy Lutomirski <luto@kernel.org>,
Balbir Singh <bsingharora@gmail.com>,
Borislav Petkov <bp@alien8.de>,
Cyrill Gorcunov <gorcunov@gmail.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Eugene Syromiatnikov <esyr@redhat.com>,
Florian Weimer <fweimer@redhat.com>,
"H . J . Lu" <hjl.tools@gmail.com>, Jann Horn <jannh@google.com>,
Jonathan Corbet <corbet@lwn.net>,
Kees Cook <keescook@chromium.org>,
Mike Kravetz <mike.kravetz@oracle.com>,
Nadav Amit <nadav.amit@gmail.com>,
Oleg Nesterov <oleg@redhat.com>, Pavel Machek <pavel@ucw.cz>,
Peter Zijlstra <peterz@infradead.org>,
Randy Dunlap <rdunlap@infradead.org>,
"Ravi V . Shankar" <ravi.v.shankar@intel.com>,
Weijiang Yang <weijiang.yang@intel.com>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
joao.moreira@intel.com, John Allen <john.allen@amd.com>,
kcc@google.com, eranian@google.com, rppt@kernel.org,
jamorris@linux.microsoft.com, dethoma@microsoft.com
Cc: rick.p.edgecombe@intel.com, Yu-cheng Yu <yu-cheng.yu@intel.com>
Subject: [PATCH v2 16/39] x86/mm: Update maybe_mkwrite() for shadow stack
Date: Thu, 29 Sep 2022 15:29:13 -0700 [thread overview]
Message-ID: <20220929222936.14584-17-rick.p.edgecombe@intel.com> (raw)
In-Reply-To: <20220929222936.14584-1-rick.p.edgecombe@intel.com>
From: Yu-cheng Yu <yu-cheng.yu@intel.com>
When serving a page fault, maybe_mkwrite() makes a PTE writable if there is
a write access to it, and its vma has VM_WRITE. Shadow stack accesses to
shadow stack vma's are also treated as write accesses by the fault handler.
This is because setting shadow stack memory makes it writable via some
instructions, so COW has to happen even for shadow stack reads.
So maybe_mkwrite() should continue to set VM_WRITE vma's as normally
writable, but also set VM_WRITE|VM_SHADOW_STACK vma's as shadow stack.
Do this by adding a pte_mkwrite_shstk() and a cross-arch stub. Check for
VM_SHADOW_STACK in maybe_mkwrite() and call pte_mkwrite_shstk()
accordingly.
Apply the same changes to maybe_pmd_mkwrite().
Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com>
Co-developed-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: Kees Cook <keescook@chromium.org>
---
v2:
- Change to handle shadow stacks that are VM_WRITE|VM_SHADOW_STACK
- Ditch arch specific maybe_mkwrite(), and make the code generic
Yu-cheng v29:
- Remove likely()'s.
arch/x86/include/asm/pgtable.h | 2 ++
include/linux/mm.h | 14 +++++++++++++-
include/linux/pgtable.h | 14 ++++++++++++++
mm/huge_memory.c | 9 ++++++++-
mm/memory.c | 3 +--
5 files changed, 38 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h
index 58c7bf9d7392..7a769c4dbc1c 100644
--- a/arch/x86/include/asm/pgtable.h
+++ b/arch/x86/include/asm/pgtable.h
@@ -419,6 +419,7 @@ static inline pte_t pte_mkdirty(pte_t pte)
return pte_set_flags(pte, dirty | _PAGE_SOFT_DIRTY);
}
+#define pte_mkwrite_shstk pte_mkwrite_shstk
static inline pte_t pte_mkwrite_shstk(pte_t pte)
{
/* pte_clear_cow() also sets Dirty=1 */
@@ -555,6 +556,7 @@ static inline pmd_t pmd_mkdirty(pmd_t pmd)
return pmd_set_flags(pmd, dirty | _PAGE_SOFT_DIRTY);
}
+#define pmd_mkwrite_shstk pmd_mkwrite_shstk
static inline pmd_t pmd_mkwrite_shstk(pmd_t pmd)
{
return pmd_clear_cow(pmd);
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 8cd413c5a329..fef14ab3abcb 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -981,13 +981,25 @@ void free_compound_page(struct page *page);
* servicing faults for write access. In the normal case, do always want
* pte_mkwrite. But get_user_pages can cause write faults for mappings
* that do not have writing enabled, when used by access_process_vm.
+ *
+ * If a vma is shadow stack (a type of writable memory), mark the pte shadow
+ * stack.
*/
+#ifndef maybe_mkwrite
static inline pte_t maybe_mkwrite(pte_t pte, struct vm_area_struct *vma)
{
- if (likely(vma->vm_flags & VM_WRITE))
+ if (!(vma->vm_flags & VM_WRITE))
+ goto out;
+
+ if (vma->vm_flags & VM_SHADOW_STACK)
+ pte = pte_mkwrite_shstk(pte);
+ else
pte = pte_mkwrite(pte);
+
+out:
return pte;
}
+#endif
vm_fault_t do_set_pmd(struct vm_fault *vmf, struct page *page);
void do_set_pte(struct vm_fault *vmf, struct page *page, unsigned long addr);
diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
index 014ee8f0fbaa..21115b4895ca 100644
--- a/include/linux/pgtable.h
+++ b/include/linux/pgtable.h
@@ -480,6 +480,13 @@ static inline pte_t pte_sw_mkyoung(pte_t pte)
#define pte_mk_savedwrite pte_mkwrite
#endif
+#ifndef pte_mkwrite_shstk
+static inline pte_t pte_mkwrite_shstk(pte_t pte)
+{
+ return pte;
+}
+#endif
+
#ifndef pte_clear_savedwrite
#define pte_clear_savedwrite pte_wrprotect
#endif
@@ -488,6 +495,13 @@ static inline pte_t pte_sw_mkyoung(pte_t pte)
#define pmd_savedwrite pmd_write
#endif
+#ifndef pmd_mkwrite_shstk
+static inline pmd_t pmd_mkwrite_shstk(pmd_t pmd)
+{
+ return pmd;
+}
+#endif
+
#ifndef pmd_mk_savedwrite
#define pmd_mk_savedwrite pmd_mkwrite
#endif
diff --git a/mm/huge_memory.c b/mm/huge_memory.c
index e9414ee57c5b..11fc69eb4717 100644
--- a/mm/huge_memory.c
+++ b/mm/huge_memory.c
@@ -554,8 +554,15 @@ __setup("transparent_hugepage=", setup_transparent_hugepage);
pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma)
{
- if (likely(vma->vm_flags & VM_WRITE))
+ if (!(vma->vm_flags & VM_WRITE))
+ goto out;
+
+ if (vma->vm_flags & VM_SHADOW_STACK)
+ pmd = pmd_mkwrite_shstk(pmd);
+ else
pmd = pmd_mkwrite(pmd);
+
+out:
return pmd;
}
diff --git a/mm/memory.c b/mm/memory.c
index 4ba73f5aa8bb..6e8379f6793c 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4098,8 +4098,7 @@ static vm_fault_t do_anonymous_page(struct vm_fault *vmf)
entry = mk_pte(page, vma->vm_page_prot);
entry = pte_sw_mkyoung(entry);
- if (vma->vm_flags & VM_WRITE)
- entry = pte_mkwrite(pte_mkdirty(entry));
+ entry = maybe_mkwrite(pte_mkdirty(entry), vma);
vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, vmf->address,
&vmf->ptl);
--
2.17.1
next prev parent reply other threads:[~2022-09-29 22:33 UTC|newest]
Thread overview: 241+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-29 22:28 [PATCH v2 00/39] Shadowstacks for userspace Rick Edgecombe
2022-09-29 22:28 ` [PATCH v2 01/39] Documentation/x86: Add CET description Rick Edgecombe
2022-09-30 3:41 ` Bagas Sanjaya
2022-09-30 13:33 ` Jonathan Corbet
2022-09-30 13:41 ` Bagas Sanjaya
2022-10-03 16:56 ` Edgecombe, Rick P
2022-10-04 2:16 ` Bagas Sanjaya
2022-10-05 9:10 ` Peter Zijlstra
2022-10-05 9:25 ` Bagas Sanjaya
2022-10-05 9:46 ` Peter Zijlstra
2022-10-03 19:35 ` John Hubbard
2022-10-03 19:39 ` Dave Hansen
2022-10-04 2:13 ` Bagas Sanjaya
2022-10-03 17:18 ` Kees Cook
2022-10-03 19:46 ` Edgecombe, Rick P
2022-10-05 0:02 ` Andrew Cooper
2022-10-10 12:19 ` Florian Weimer
2022-10-10 16:44 ` Edgecombe, Rick P
2022-10-10 16:51 ` H.J. Lu
2022-10-12 12:29 ` Florian Weimer
2022-10-12 15:59 ` Dave Hansen
2022-10-12 16:54 ` Florian Weimer
2022-10-13 21:28 ` Edgecombe, Rick P
2022-10-13 22:15 ` H.J. Lu
2022-10-26 21:59 ` Edgecombe, Rick P
2022-09-29 22:28 ` [PATCH v2 02/39] x86/cet/shstk: Add Kconfig option for Shadow Stack Rick Edgecombe
2022-10-03 13:40 ` Kirill A . Shutemov
2022-10-03 19:53 ` Edgecombe, Rick P
2022-10-03 17:25 ` Kees Cook
2022-10-03 19:52 ` Edgecombe, Rick P
2022-10-03 19:42 ` Dave Hansen
2022-10-03 19:50 ` Edgecombe, Rick P
2022-10-12 20:04 ` Borislav Petkov
2022-10-13 0:31 ` Edgecombe, Rick P
2022-10-13 9:21 ` Borislav Petkov
2022-09-29 22:29 ` [PATCH v2 03/39] x86/cpufeatures: Add CPU feature flags for shadow stacks Rick Edgecombe
2022-10-03 17:26 ` Kees Cook
2022-10-14 16:20 ` Borislav Petkov
2022-10-14 19:35 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 04/39] x86/cpufeatures: Enable CET CR4 bit for shadow stack Rick Edgecombe
2022-10-03 17:31 ` Kees Cook
2022-10-05 0:55 ` Andrew Cooper
2022-10-14 17:12 ` Borislav Petkov
2022-10-14 18:15 ` Edgecombe, Rick P
2022-10-14 19:44 ` Borislav Petkov
2022-09-29 22:29 ` [PATCH v2 05/39] x86/fpu/xstate: Introduce CET MSR and XSAVES supervisor states Rick Edgecombe
2022-10-03 17:40 ` Kees Cook
2022-10-15 9:46 ` Borislav Petkov
2022-10-17 18:57 ` Edgecombe, Rick P
2022-10-17 19:33 ` Borislav Petkov
2022-09-29 22:29 ` [PATCH v2 06/39] x86/fpu: Add helper for modifying xstate Rick Edgecombe
2022-10-03 17:48 ` Kees Cook
2022-10-03 20:05 ` Edgecombe, Rick P
2022-10-04 4:05 ` Kees Cook
2022-10-04 14:18 ` Dave Hansen
2022-10-04 16:13 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 07/39] x86/cet: Add user control-protection fault handler Rick Edgecombe
2022-10-03 14:01 ` Kirill A . Shutemov
2022-10-03 18:12 ` Edgecombe, Rick P
2022-10-03 18:04 ` Kees Cook
2022-10-03 20:33 ` Edgecombe, Rick P
2022-10-03 22:51 ` Andy Lutomirski
2022-10-03 23:09 ` H. Peter Anvin
2022-10-03 23:11 ` Edgecombe, Rick P
2022-10-05 1:20 ` Andrew Cooper
2022-10-05 22:44 ` Edgecombe, Rick P
2022-10-05 9:39 ` Peter Zijlstra
2022-10-05 22:45 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 08/39] x86/mm: Remove _PAGE_DIRTY from kernel RO pages Rick Edgecombe
2022-10-03 14:17 ` Kirill A . Shutemov
2022-10-05 1:31 ` Andrew Cooper
2022-10-05 11:16 ` Peter Zijlstra
2022-10-05 12:34 ` Andrew Cooper
2022-09-29 22:29 ` [PATCH v2 09/39] x86/mm: Move pmd_write(), pud_write() up in the file Rick Edgecombe
2022-10-03 18:06 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 10/39] x86/mm: Introduce _PAGE_COW Rick Edgecombe
2022-09-30 15:16 ` Jann Horn
2022-10-06 16:10 ` Edgecombe, Rick P
2022-10-03 16:26 ` Kirill A . Shutemov
2022-10-03 21:36 ` Edgecombe, Rick P
2022-10-03 21:54 ` Jann Horn
2022-10-03 22:20 ` Edgecombe, Rick P
2022-10-03 22:14 ` Dave Hansen
2022-10-05 2:17 ` Andrew Cooper
2022-10-05 14:08 ` Dave Hansen
2022-10-05 23:06 ` Edgecombe, Rick P
2022-10-05 23:01 ` Edgecombe, Rick P
2022-10-05 11:33 ` Peter Zijlstra
2022-10-14 9:41 ` Peter Zijlstra
2022-10-14 15:52 ` Edgecombe, Rick P
2022-10-14 9:42 ` Peter Zijlstra
2022-10-14 18:06 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 11/39] x86/mm: Update pte_modify for _PAGE_COW Rick Edgecombe
2022-09-29 22:29 ` [PATCH v2 12/39] x86/mm: Update ptep_set_wrprotect() and pmdp_set_wrprotect() for transition from _PAGE_DIRTY to _PAGE_COW Rick Edgecombe
2022-10-03 17:43 ` Kirill A . Shutemov
2022-10-03 18:11 ` Nadav Amit
2022-10-03 18:51 ` Dave Hansen
2022-10-03 22:28 ` Edgecombe, Rick P
2022-10-03 23:17 ` Nadav Amit
2022-10-03 23:20 ` Nadav Amit
2022-10-03 23:25 ` Nadav Amit
2022-10-03 23:38 ` Edgecombe, Rick P
2022-10-04 0:40 ` Nadav Amit
2022-09-29 22:29 ` [PATCH v2 13/39] mm: Move VM_UFFD_MINOR_BIT from 37 to 38 Rick Edgecombe
2022-10-03 18:11 ` Kees Cook
2022-10-03 18:24 ` Peter Xu
2022-09-29 22:29 ` [PATCH v2 14/39] mm: Introduce VM_SHADOW_STACK for shadow stack memory Rick Edgecombe
2022-10-03 17:47 ` Kirill A . Shutemov
2022-10-04 0:29 ` Edgecombe, Rick P
2022-10-03 18:17 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 15/39] x86/mm: Check Shadow Stack page fault errors Rick Edgecombe
2022-10-03 18:20 ` Kees Cook
2022-10-14 10:07 ` Peter Zijlstra
2022-10-14 15:51 ` Edgecombe, Rick P
2022-09-29 22:29 ` Rick Edgecombe [this message]
2022-10-03 18:22 ` [PATCH v2 16/39] x86/mm: Update maybe_mkwrite() for shadow stack Kees Cook
2022-10-03 23:53 ` Kirill A . Shutemov
2022-10-14 15:32 ` Peter Zijlstra
2022-10-14 15:45 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 17/39] mm: Fixup places that call pte_mkwrite() directly Rick Edgecombe
2022-10-03 18:24 ` Kees Cook
2022-10-03 23:56 ` Kirill A . Shutemov
2022-10-04 16:15 ` Edgecombe, Rick P
2022-10-04 1:56 ` Nadav Amit
2022-10-04 16:21 ` Edgecombe, Rick P
2022-10-14 15:52 ` Peter Zijlstra
2022-10-14 15:56 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 18/39] mm: Add guard pages around a shadow stack Rick Edgecombe
2022-10-03 18:30 ` Kees Cook
2022-10-05 2:30 ` Andrew Cooper
2022-10-10 12:33 ` Florian Weimer
2022-10-10 13:32 ` Andrew Cooper
2022-10-10 13:40 ` Florian Weimer
2022-10-10 13:56 ` Andrew Cooper
2022-09-29 22:29 ` [PATCH v2 19/39] mm/mmap: Add shadow stack pages to memory accounting Rick Edgecombe
2022-10-03 18:31 ` Kees Cook
2022-10-04 0:03 ` Kirill A . Shutemov
2022-10-04 0:32 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 20/39] mm/mprotect: Exclude shadow stack from preserve_write Rick Edgecombe
2022-09-29 22:29 ` [PATCH v2 21/39] mm: Re-introduce vm_flags to do_mmap() Rick Edgecombe
2022-09-29 22:29 ` [PATCH v2 22/39] mm: Don't allow write GUPs to shadow stack memory Rick Edgecombe
2022-09-30 19:16 ` Dave Hansen
2022-09-30 20:30 ` Edgecombe, Rick P
2022-09-30 20:37 ` Dave Hansen
2022-09-30 23:00 ` Jann Horn
2022-09-30 23:02 ` Jann Horn
2022-09-30 23:04 ` Edgecombe, Rick P
2022-10-03 18:39 ` Kees Cook
2022-10-03 22:49 ` Andy Lutomirski
2022-10-04 4:21 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 23/39] x86: Introduce userspace API for CET enabling Rick Edgecombe
2022-10-03 19:01 ` Kees Cook
2022-10-03 22:51 ` Edgecombe, Rick P
2022-10-06 18:50 ` Mike Rapoport
2022-10-10 10:56 ` Florian Weimer
2022-10-10 16:28 ` Edgecombe, Rick P
2022-10-12 12:18 ` Florian Weimer
2022-10-12 17:30 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 24/39] x86/cet/shstk: Add user-mode shadow stack support Rick Edgecombe
2022-10-03 19:43 ` Kees Cook
2022-10-03 20:04 ` Dave Hansen
2022-10-04 4:04 ` Kees Cook
2022-10-04 16:25 ` Edgecombe, Rick P
2022-10-04 10:17 ` David Laight
2022-10-04 19:32 ` Kees Cook
2022-10-05 13:32 ` David Laight
2022-10-20 21:29 ` Edgecombe, Rick P
2022-10-20 22:54 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 25/39] x86/cet/shstk: Handle thread shadow stack Rick Edgecombe
2022-10-03 10:36 ` Mike Rapoport
2022-10-03 16:57 ` Edgecombe, Rick P
2022-10-03 20:29 ` Kees Cook
2022-10-04 22:09 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 26/39] x86/cet/shstk: Introduce routines modifying shstk Rick Edgecombe
2022-10-03 20:44 ` Kees Cook
2022-10-04 22:13 ` Edgecombe, Rick P
2022-10-05 2:43 ` Andrew Cooper
2022-10-05 22:47 ` Edgecombe, Rick P
2022-10-05 22:58 ` Andrew Cooper
2022-10-20 21:51 ` Edgecombe, Rick P
2022-09-29 22:29 ` [PATCH v2 27/39] x86/cet/shstk: Handle signals for shadow stack Rick Edgecombe
2022-10-03 20:52 ` Kees Cook
2022-10-20 22:08 ` Edgecombe, Rick P
2022-10-20 22:57 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 28/39] x86/cet/shstk: Introduce map_shadow_stack syscall Rick Edgecombe
2022-10-03 22:23 ` Kees Cook
2022-10-04 22:56 ` Edgecombe, Rick P
2022-10-04 23:16 ` H.J. Lu
2022-10-10 11:13 ` Florian Weimer
2022-10-10 14:19 ` Jason A. Donenfeld
2022-09-29 22:29 ` [PATCH v2 29/39] x86/cet/shstk: Support wrss for userspace Rick Edgecombe
2022-10-03 22:28 ` Kees Cook
2022-10-03 23:00 ` Andy Lutomirski
2022-10-04 4:37 ` Kees Cook
2022-10-06 0:38 ` Edgecombe, Rick P
2022-10-06 3:11 ` Kees Cook
2022-10-04 8:30 ` Mike Rapoport
2022-09-29 22:29 ` [PATCH v2 30/39] x86: Expose thread features status in /proc/$PID/arch_status Rick Edgecombe
2022-10-03 22:37 ` Kees Cook
2022-10-03 22:45 ` Andy Lutomirski
2022-10-04 4:18 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 31/39] x86/cet/shstk: Wire in CET interface Rick Edgecombe
2022-10-03 22:41 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 32/39] selftests/x86: Add shadow stack test Rick Edgecombe
2022-10-03 23:56 ` Kees Cook
2022-09-29 22:29 ` [PATCH v2 33/39] x86/cpufeatures: Limit shadow stack to Intel CPUs Rick Edgecombe
2022-10-03 23:57 ` Kees Cook
2022-10-04 0:09 ` Dave Hansen
2022-10-04 4:54 ` Kees Cook
2022-10-04 15:47 ` Nathan Chancellor
2022-10-04 19:43 ` John Allen
2022-10-04 20:34 ` Edgecombe, Rick P
2022-10-04 20:50 ` Nathan Chancellor
2022-10-04 21:17 ` H. Peter Anvin
2022-10-04 23:24 ` Edgecombe, Rick P
2022-11-03 17:39 ` John Allen
2022-10-20 21:22 ` Edgecombe, Rick P
2022-10-04 8:36 ` Mike Rapoport
2022-09-29 22:29 ` [OPTIONAL/CLEANUP v2 34/39] x86: Separate out x86_regset for 32 and 64 bit Rick Edgecombe
2022-09-29 22:29 ` [OPTIONAL/CLEANUP v2 35/39] x86: Improve formatting of user_regset arrays Rick Edgecombe
2022-09-29 22:29 ` [OPTIONAL/RFC v2 36/39] x86/fpu: Add helper for initing features Rick Edgecombe
2022-10-03 19:07 ` Chang S. Bae
2022-10-04 23:05 ` Edgecombe, Rick P
2022-09-29 22:29 ` [OPTIONAL/RFC v2 37/39] x86/cet: Add PTRACE interface for CET Rick Edgecombe
2022-10-03 23:59 ` Kees Cook
2022-10-04 8:44 ` Mike Rapoport
2022-10-04 19:24 ` Kees Cook
2022-09-29 22:29 ` [OPTIONAL/RFC v2 38/39] x86/cet/shstk: Add ARCH_CET_UNLOCK Rick Edgecombe
2022-10-04 0:00 ` Kees Cook
2022-09-29 22:29 ` [OPTIONAL/RFC v2 39/39] x86: Add alt shadow stack support Rick Edgecombe
2022-10-03 23:21 ` Andy Lutomirski
2022-10-04 16:12 ` Edgecombe, Rick P
2022-10-04 17:46 ` Andy Lutomirski
2022-10-04 18:04 ` Edgecombe, Rick P
2022-10-03 17:04 ` [PATCH v2 00/39] Shadowstacks for userspace Kees Cook
2022-10-03 17:25 ` Jann Horn
2022-10-04 5:01 ` Kees Cook
2022-10-04 9:57 ` David Laight
2022-10-04 19:28 ` Kees Cook
2022-10-03 18:33 ` Edgecombe, Rick P
2022-10-04 3:59 ` Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220929222936.14584-17-rick.p.edgecombe@intel.com \
--to=rick.p.edgecombe@intel.com \
--cc=arnd@arndb.de \
--cc=bp@alien8.de \
--cc=bsingharora@gmail.com \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=dethoma@microsoft.com \
--cc=eranian@google.com \
--cc=esyr@redhat.com \
--cc=fweimer@redhat.com \
--cc=gorcunov@gmail.com \
--cc=hjl.tools@gmail.com \
--cc=hpa@zytor.com \
--cc=jamorris@linux.microsoft.com \
--cc=jannh@google.com \
--cc=joao.moreira@intel.com \
--cc=john.allen@amd.com \
--cc=kcc@google.com \
--cc=keescook@chromium.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=mike.kravetz@oracle.com \
--cc=mingo@redhat.com \
--cc=nadav.amit@gmail.com \
--cc=oleg@redhat.com \
--cc=pavel@ucw.cz \
--cc=peterz@infradead.org \
--cc=ravi.v.shankar@intel.com \
--cc=rdunlap@infradead.org \
--cc=rppt@kernel.org \
--cc=tglx@linutronix.de \
--cc=weijiang.yang@intel.com \
--cc=x86@kernel.org \
--cc=yu-cheng.yu@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).