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:	Tue, 29 Nov 2011 13:41:19 +0100
From:	Hans Rosenfeld <hans.rosenfeld@....com>
To:	<hpa@...or.com>
CC:	<tglx@...utronix.de>, <mingo@...e.hu>, <suresh.b.siddha@...el.com>,
	<eranian@...gle.com>, <brgerst@...il.com>,
	<robert.richter@....com>, <Andreas.Herrmann3@....com>,
	<x86@...nel.org>, <linux-kernel@...r.kernel.org>,
	Hans Rosenfeld <hans.rosenfeld@....com>
Subject: [PATCH 0/9] rework of extended state handling, LWP support

This patch set is a general cleanup and rework of the code related to
handling of FPU and other extended states. All handling of extended
states, including the FPU state, is now handled by xsave/xrstor wrappers
that fall back to fxsave/fxrstor, or even fsave/frstor, if hardware
support for those features is lacking. The code handling xstates in
signal frames has been unified and cleaned up.

The lazy allocation of the xstate area has been removed. The support for
extended states that cannot be saved/restored lazily, like AMD's LWP,
need this. Since optimized library functions using SSE etc. are widely
used today, most processes would have an xstate area anyway, making the
memory overhead negligible.


Changes since the last RFC:
 * added patch to catch #NM exceptions caused by the kernel
 * reordered the patches in a way that seemed more logical, with the
   side-effect of reducing the size of some of the patches
 * two bugfixes in the preallocation of the xstate area
 * explicitly disable LWP in new tasks (required by the LWP spec)


These patches were built and tested against 3.1. The older RFC patches
that have been lingering in tip/x86/xsave for the last few months should
be removed.


Hans Rosenfeld (9):
  x86, xsave: warn on #NM exceptions caused by the kernel
  x86, xsave: cleanup fpu/xsave support
  x86, xsave: cleanup fpu/xsave signal frame setup
  x86, xsave: rework fpu/xsave support
  x86, xsave: remove unused code
  x86, xsave: more cleanups
  x86, xsave: remove lazy allocation of xstate area
  x86, xsave: add support for non-lazy xstates
  x86, xsave: add kernel support for AMDs Lightweight Profiling (LWP)

 arch/x86/ia32/ia32_signal.c        |    4 +-
 arch/x86/include/asm/i387.h        |  251 ++++++++--------------------
 arch/x86/include/asm/msr-index.h   |    1 +
 arch/x86/include/asm/processor.h   |   12 ++
 arch/x86/include/asm/sigcontext.h  |   12 ++
 arch/x86/include/asm/thread_info.h |    6 +-
 arch/x86/include/asm/xsave.h       |  102 +++--------
 arch/x86/kernel/i387.c             |  300 +++------------------------------
 arch/x86/kernel/process.c          |   14 ++
 arch/x86/kernel/process_32.c       |   29 +---
 arch/x86/kernel/process_64.c       |   28 +---
 arch/x86/kernel/signal.c           |    4 +-
 arch/x86/kernel/traps.c            |   48 +-----
 arch/x86/kernel/xsave.c            |  325 +++++++++++++++++++++++------------
 arch/x86/kvm/vmx.c                 |    2 +-
 arch/x86/kvm/x86.c                 |   11 +-
 arch/x86/math-emu/fpu_entry.c      |    8 +-
 drivers/lguest/x86/core.c          |    2 +-
 fs/exec.c                          |    8 +
 19 files changed, 423 insertions(+), 744 deletions(-)

-- 
1.7.5.4


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ