All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch V2 00/16] x86/tlb: Unexport per-CPU tlbstate
@ 2020-04-21  9:20 Thomas Gleixner
  2020-04-21  9:20 ` [patch V2 01/16] x86/tlb: Uninline __get_current_cr3_fast() Thomas Gleixner
                   ` (15 more replies)
  0 siblings, 16 replies; 35+ messages in thread
From: Thomas Gleixner @ 2020-04-21  9:20 UTC (permalink / raw)
  To: LKML
  Cc: x86, Christoph Hellwig, Kees Cook, Alexandre Chartre,
	Peter Zijlstra (Intel),
	Thomas Lendacky, Juergen Gross, Boris Ostrovsky

The per-CPU tlbstate contains sensitive information which should be really
only accessible in core code. It is exported to modules because some inline
functions which are required by KVM need access to it.

The first version can be found here:

    https://lore.kernel.org/r/20200419203137.214111265@linutronix.de

Changes vs. V1:

  - Reduced the number of exports by uninlining __flush_tlb_all() (Christoph)

  - Addressed fallout reported by 0-day

  - Picked up acks/reviewed tags

I left the LKDTM part alone for now and decided to keep the
__flush_tlb_all() export for SVM as moving that errata handling to builtin
code would required two exports in turn.

The series is also available from git:

   git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel x86/tlb

Thanks,

	tglx

8<-----------------
 arch/x86/events/core.c             |   11 
 arch/x86/include/asm/mmu_context.h |   88 -------
 arch/x86/include/asm/paravirt.h    |   12 -
 arch/x86/include/asm/pgtable_32.h  |    2 
 arch/x86/include/asm/tlbflush.h    |  441 +++----------------------------------
 arch/x86/kernel/alternative.c      |   55 ++++
 arch/x86/kernel/cpu/common.c       |   25 ++
 arch/x86/kernel/cpu/mtrr/generic.c |    4 
 arch/x86/kernel/paravirt.c         |   21 -
 arch/x86/kernel/process.c          |   11 
 arch/x86/mm/init.c                 |   14 +
 arch/x86/mm/init_64.c              |    2 
 arch/x86/mm/ioremap.c              |    2 
 arch/x86/mm/kmmio.c                |    2 
 arch/x86/mm/mem_encrypt.c          |    2 
 arch/x86/mm/pat/set_memory.c       |    2 
 arch/x86/mm/pgtable.c              |    8 
 arch/x86/mm/pgtable_32.c           |    2 
 arch/x86/mm/tlb.c                  |  384 +++++++++++++++++++++++++++++++-
 arch/x86/platform/uv/tlb_uv.c      |    4 
 drivers/xen/privcmd.c              |    1 
 21 files changed, 556 insertions(+), 537 deletions(-)



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2020-04-26 18:43 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-21  9:20 [patch V2 00/16] x86/tlb: Unexport per-CPU tlbstate Thomas Gleixner
2020-04-21  9:20 ` [patch V2 01/16] x86/tlb: Uninline __get_current_cr3_fast() Thomas Gleixner
2020-04-21 17:04   ` Andy Lutomirski
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 02/16] x86/cpu: Uninline CR4 accessors Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] x86/cpu: Export native_write_cr4() only when CONFIG_LKTDM=m tip-bot2 for Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] x86/cpu: Uninline CR4 accessors tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 03/16] x86/cr4: Sanitize CR4.PCE update Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 04/16] x86/alternatives: Move temporary_mm helpers into C Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 05/16] x86/tlb: Move __flush_tlb() out of line Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 06/16] x86/tlb: Move __flush_tlb_global() " Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 07/16] x86/tlb: Move __flush_tlb_one_user() " Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 08/16] x86/tlb: Move __flush_tlb_one_kernel() " Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 09/16] x86/tlb: Move flush_tlb_others() " Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 10/16] x86/tlb: Move __flush_tlb_all() " Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 11/16] x86/tlb: Move paravirt_tlb_remove_table() to the usage site Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 12/16] x86/tlb: Move cr4_set_bits_and_update_boot() " Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 13/16] x86/tlb: Uninline nmi_uaccess_okay() Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 14/16] x86/tlb: Move PCID helpers where they are used Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 15/16] xen/privcmd: Remove unneeded asm/tlb.h include Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner
2020-04-21  9:20 ` [patch V2 16/16] x86/tlb: Restrict access to tlbstate Thomas Gleixner
2020-04-26 18:42   ` [tip: x86/mm] " tip-bot2 for Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.