[PATCH 00/19] x86, mpx updates for 4.2 (take 7)

From: Dave Hansen
Date: Tue May 19 2015 - 02:26:18 EST


Note: this has been lightly tested. There were no major changes
since the last version, and I ran my normal compile tests, but
this was a bit hurried because I'm about to get on a plane and
will not be reading email for the next week.

Changes from take 7 / v21:
* Address a bunch of Thomas's review comments.

Changes from take 5 / v20:

* Fix get_xsave_addr() to consult xstate_bv in anticipation
of fixes to xsave code.
* Bug fix for when an VMA being unmapped has neighbors which
are bounds tables.
* Rewrite unmapping code. I didn't do this lightly. It was
not originally my own code, and I resisted changing it
because it worked. But, I started bug chasing and decided
it was unmaintainable. The rewrite ended up removing
about 20% of the unmapping code and made it much simpler.

Changes from take 4 / v19:

* Do not pass a task_struct around when we are
really just going to operate on current

Changes from take 3 / v18 (all minor):

* use DECLARE_EVENT_CLASS()/DEFINE_EVENT() for
the ranged tracepoints to save 10 lines of code.

Changes from take 2 / v17 (all minor):

* fix a couple of whitespace borkages caught by checkpatch,
and a spelling error or two.
* replace printk with pr_info() for boot disable
* change trace print format for address intervals
* fix up variable name in tsk_get_xsave_addr() comment
* remove tsk_get_xsave_field() GPL export
* fix up Qiaowei's From:

--

Hi x86 maintainers,

There are a few basic things going on here:
1. Make FPU/xsave code preempt safe and work properly
2. Add trace points to make kernel and app debugging easier
3. Add a boot-time disable for mpx
4. Rewrite the unmapping code.
5. Support 32-bit binaries to run on 64-bit kernels

This sees breakage unless either booted with 'noxsaves'
or if it has Fenghua's set from here applied:

http://lkml.kernel.org/r/1429678319-61356-1-git-send-email-fenghua.yu@xxxxxxxxx

This set is also available against 4.1-rc3 in git:

git://git.kernel.org/pub/scm/linux/kernel/git/daveh/x86-mpx.git mpx-v22

Documentation/kernel-parameters.txt | 4
arch/x86/include/asm/mmu_context.h | 13
arch/x86/include/asm/mpx.h | 74 ++---
arch/x86/include/asm/processor.h | 12
arch/x86/include/asm/trace/mpx.h | 122 ++++++++
arch/x86/include/asm/xsave.h | 1
arch/x86/kernel/cpu/common.c | 16 +
arch/x86/kernel/traps.c | 18 -
arch/x86/kernel/uprobes.c | 10
arch/x86/kernel/xsave.c | 77 ++++-
arch/x86/mm/mpx.c | 507 ++++++++++++++++++++++--------------
kernel/sys.c | 8
12 files changed, 595 insertions(+), 267 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/