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]
Message-Id: <cover.1461688545.git.luto@kernel.org>
Date:	Tue, 26 Apr 2016 09:39:04 -0700
From:	Andy Lutomirski <luto@...nel.org>
To:	x86@...nel.org
Cc:	linux-kernel@...r.kernel.org,
	Peter Zijlstra <peterz@...radead.org>,
	Borislav Petkov <bp@...en8.de>,
	Andy Lutomirski <luto@...nel.org>
Subject: [PATCH v2 0/5] x86 switch_mm uninlining and IRQ improvements

Hi all-

I've been playing with context switching lately, and I'm going to start
sending out some of the patches that should be mostly self-contained and
ready for -tip.

Here's a little batch to start improving switch_mm.  It uninlines it
and makes it run with IRQs off.  (AFAICT everyone who's modified it
thought it ran with IRQs off, but that's not always the case.  I
don't know of any bugs that this fixes, but it'll be needed for PCID
to avoid introducing really nasty races.)

This may also help a bit with FSGSBASE -- not sure yet.  It certainly
won't hurt.

It contains a trivial off-topic ARM patch to avoid breaking the build.

Andy Lutomirski (5):
  arm: Include linux/preempt.h from asm/mmu_context.h
  sched: Add switch_mm_irqs_off and use it in the scheduler
  x86/mm: Build arch/x86/mm/tlb.c even on !SMP
  x86/mm: Uninline switch_mm
  x86/mm: Turn off IRQs in switch_mm

 arch/arm/include/asm/mmu_context.h |   1 +
 arch/x86/include/asm/mmu_context.h | 101 ++------------------------------
 arch/x86/mm/Makefile               |   3 +-
 arch/x86/mm/tlb.c                  | 116 +++++++++++++++++++++++++++++++++++++
 include/linux/mmu_context.h        |   7 +++
 kernel/sched/core.c                |   6 +-
 6 files changed, 133 insertions(+), 101 deletions(-)

-- 
2.5.5

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ