[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180607143705.3531-1-yu-cheng.yu@intel.com>
Date: Thu, 7 Jun 2018 07:36:56 -0700
From: Yu-cheng Yu <yu-cheng.yu@...el.com>
To: linux-kernel@...r.kernel.org, linux-doc@...r.kernel.org,
linux-mm@...ck.org, linux-arch@...r.kernel.org, x86@...nel.org,
"H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H.J. Lu" <hjl.tools@...il.com>,
Vedvyas Shanbhogue <vedvyas.shanbhogue@...el.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...capital.net>,
Jonathan Corbet <corbet@....net>,
Oleg Nesterov <oleg@...hat.com>, Arnd Bergmann <arnd@...db.de>,
Mike Kravetz <mike.kravetz@...cle.com>
Cc: Yu-cheng Yu <yu-cheng.yu@...el.com>
Subject: [PATCH 0/9] Control Flow Enforcement - Part (2)
Summary of changes:
Shadow stack kernel config option;
Control protection exception; and
Shadow stack memory management.
The shadow stack PTE needs to be read-only and dirty. Changes
are made to:
Use the read-only and hardware dirty combination exclusively
for shadow stack;
Use a PTE spare bit to indicate other PTE dirty conditions;
Shadow stack page fault handling.
Yu-cheng Yu (9):
x86/cet: Control protection exception handler
x86/cet: Add Kconfig option for user-mode shadow stack
mm: Introduce VM_SHSTK for shadow stack memory
x86/mm: Change _PAGE_DIRTY to _PAGE_DIRTY_HW
x86/mm: Introduce _PAGE_DIRTY_SW
x86/mm: Introduce ptep_set_wrprotect_flush and related functions
x86/mm: Shadow stack page fault error checking
x86/cet: Handle shadow stack page fault
x86/cet: Handle THP/HugeTLB shadow stack page copying
arch/x86/Kconfig | 24 ++++++
arch/x86/entry/entry_32.S | 5 ++
arch/x86/entry/entry_64.S | 2 +-
arch/x86/include/asm/pgtable.h | 149 ++++++++++++++++++++++++++++++-----
arch/x86/include/asm/pgtable_types.h | 31 +++++---
arch/x86/include/asm/traps.h | 5 ++
arch/x86/kernel/idt.c | 1 +
arch/x86/kernel/relocate_kernel_64.S | 2 +-
arch/x86/kernel/traps.c | 61 ++++++++++++++
arch/x86/kvm/vmx.c | 2 +-
arch/x86/mm/fault.c | 11 +++
include/asm-generic/pgtable.h | 38 +++++++++
include/linux/mm.h | 8 ++
mm/huge_memory.c | 10 ++-
mm/hugetlb.c | 2 +-
mm/internal.h | 8 ++
mm/memory.c | 32 +++++++-
17 files changed, 353 insertions(+), 38 deletions(-)
--
2.15.1
Powered by blists - more mailing lists