lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 27 Nov 2017 11:48:59 +0100
From:   Ingo Molnar <mingo@...nel.org>
To:     linux-kernel@...r.kernel.org
Cc:     Dave Hansen <dave.hansen@...ux.intel.com>,
        Andy Lutomirski <luto@...capital.net>,
        Thomas Gleixner <tglx@...utronix.de>,
        "H . Peter Anvin" <hpa@...or.com>,
        Peter Zijlstra <peterz@...radead.org>,
        Borislav Petkov <bp@...en8.de>,
        Linus Torvalds <torvalds@...ux-foundation.org>
Subject: [PATCH 00/24] x86/mm: Add KAISER support

Sending this out for another round of review.

These are the main KAISER patches, on top of the preparatory series I just sent.
This includes KAISER support plus enhancements on top, all the latest code.

( All review feedback so far is incorporated - if anything is missing please
  let me know. )

Thanks,

     Ingo

=====================>
Dave Hansen (17):
  x86/mm/kaiser: Disable global pages by default with KAISER
  x86/mm/kaiser: Prepare the x86/entry assembly code for entry/exit CR3 switching
  x86/mm/kaiser: Introduce user-mapped per-CPU areas
  x86/mm/kaiser: Unmap kernel mappings from userspace page tables, core patch
  x86/mm/kaiser: Allow NX poison to be set in p4d/pgd
  x86/mm/kaiser: Make sure the static PGDs are 8k in size
  x86/mm/kaiser: Map the CPU entry area
  x86/mm/kaiser: Map the dynamically-allocated LDTs
  x86/mm/kaiser: Map the espfix structures
  x86/mm/kaiser: Map the entry stack variables
  x86/mm: Move the CR3 construction functions to tlbflush.h
  x86/mm: Remove hard-coded ASID limit checks
  x86/mm: Put MMU-to-h/w ASID translation in one place
  x86/mm: Allow flushing for future ASID switches
  x86/mm/kaiser: Use PCID feature to make user and kernel switches faster
  x86/mm/kaiser: Disable native VSYSCALL
  x86/mm/kaiser: Add Kconfig

Hugh Dickins (1):
  x86/mm/kaiser: Map virtually-addressed performance monitoring buffers

Peter Zijlstra (1):
  x86/mm/kaiser: Use the other page_table_lock pattern

Thomas Gleixner (5):
  x86/mm/kaiser: Respect disabled CPU features
  x86/mm/kaiser: Simplify disabling of global pages
  x86/mm/dump_pagetables: Check Kaiser shadow page table for WX pages
  x86/mm/debug_pagetables: Allow dumping current pagetables
  x86/mm/kaiser: Add boot time disable switch

 Documentation/x86/kaiser.txt                | 159 +++++++++
 arch/x86/Kconfig                            |   8 +
 arch/x86/entry/calling.h                    |  84 +++++
 arch/x86/entry/entry_64.S                   |  38 +-
 arch/x86/entry/entry_64_compat.S            |  24 +-
 arch/x86/events/intel/ds.c                  |  49 ++-
 arch/x86/include/asm/cpufeatures.h          |   1 +
 arch/x86/include/asm/kaiser.h               |  73 ++++
 arch/x86/include/asm/mmu_context.h          |  29 +-
 arch/x86/include/asm/pgtable.h              |  20 +-
 arch/x86/include/asm/pgtable_64.h           | 140 ++++++++
 arch/x86/include/asm/pgtable_types.h        |  14 +-
 arch/x86/include/asm/tlbflush.h             | 208 +++++++++--
 arch/x86/include/uapi/asm/processor-flags.h |   3 +-
 arch/x86/kernel/cpu/common.c                |   6 +-
 arch/x86/kernel/espfix_64.c                 |  28 +-
 arch/x86/kernel/head_64.S                   |  30 +-
 arch/x86/kernel/ldt.c                       |  25 +-
 arch/x86/kernel/process_64.c                |   2 +-
 arch/x86/kvm/x86.c                          |   3 +-
 arch/x86/mm/Makefile                        |   1 +
 arch/x86/mm/debug_pagetables.c              |  81 ++++-
 arch/x86/mm/dump_pagetables.c               |  32 +-
 arch/x86/mm/init.c                          |  89 +++--
 arch/x86/mm/kaiser.c                        | 521 ++++++++++++++++++++++++++++
 arch/x86/mm/pageattr.c                      |   2 +-
 arch/x86/mm/pgtable.c                       |  16 +-
 arch/x86/mm/tlb.c                           | 105 +++++-
 include/asm-generic/vmlinux.lds.h           |   7 +
 include/linux/kaiser.h                      |  32 ++
 include/linux/percpu-defs.h                 |  30 ++
 init/main.c                                 |   3 +
 kernel/fork.c                               |   1 +
 security/Kconfig                            |  10 +
 34 files changed, 1744 insertions(+), 130 deletions(-)
 create mode 100644 Documentation/x86/kaiser.txt
 create mode 100644 arch/x86/include/asm/kaiser.h
 create mode 100644 arch/x86/mm/kaiser.c
 create mode 100644 include/linux/kaiser.h

-- 
2.14.1

Powered by blists - more mailing lists