All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/19] x86, mpx updates for 4.2 (take 6)
@ 2015-05-08 18:59 Dave Hansen
  2015-05-08 18:59 ` [PATCH 01/19] x86, mpx, xsave: fix up bad get_xsave_addr() assumptions Dave Hansen
                   ` (18 more replies)
  0 siblings, 19 replies; 49+ messages in thread
From: Dave Hansen @ 2015-05-08 18:59 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, tglx, Dave Hansen

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@intel.com

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

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

 Documentation/kernel-parameters.txt |    4
 arch/x86/include/asm/mmu_context.h  |   13
 arch/x86/include/asm/mpx.h          |   76 ++--
 arch/x86/include/asm/processor.h    |   12
 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             |   73 +++-
 arch/x86/mm/mpx.c                   |  634 +++++++++++++++++++++---------------
 kernel/sys.c                        |    8
 11 files changed, 543 insertions(+), 322 deletions(-)

^ permalink raw reply	[flat|nested] 49+ messages in thread
* [PATCH 00/19] x86, mpx updates for 4.2 (take 7)
@ 2015-05-19  6:25 Dave Hansen
  2015-05-19  6:25 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
  0 siblings, 1 reply; 49+ messages in thread
From: Dave Hansen @ 2015-05-19  6:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, tglx, Dave Hansen

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@intel.com

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(-)

^ permalink raw reply	[flat|nested] 49+ messages in thread
* [PATCH 00/19] x86, mpx updates for 4.2 (take 8)
@ 2015-05-27 18:36 Dave Hansen
  2015-05-27 18:36 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
  0 siblings, 1 reply; 49+ messages in thread
From: Dave Hansen @ 2015-05-27 18:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, tglx, Dave Hansen


Changes from take 7 / v22:
 * Add Thomas's reviewed-by
 * merge with tip/x86/fpu changes
 * Fix tiny spelling nit

Changes from take 6 / 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 set is also available against tip/x86/fpu (8c05f05edb) in git:

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

Dave Hansen (19):
  x86, mpx, xsave: Fix up bad get_xsave_addr() assumptions
  x86, fpu: Wrap get_xsave_addr() to make it safer
  x86, mpx: Use new get_xsave_field_ptr()
  x86, mpx: Cleanup: Do not pass task around when unnecessary
  x86, mpx: remove redundant MPX_BNDCFG_ADDR_MASK
  x86, mpx: Restrict mmap size check to bounds tables
  x86, mpx: boot-time disable
  x86, mpx: trace #BR exceptions
  x86, mpx: trace entry to bounds exception paths
  x86, mpx: Trace the attempts to find bounds tables
  x86, mpx: trace allocation of new bounds tables
  x86: make is_64bit_mm() widely available
  x86, mpx: Add temporary variable to reduce masking
  x86, mpx: new directory entry to addr helper
  x86, mpx: do 32-bit-only cmpxchg for 32-bit apps
  x86, mpx: support 32-bit binaries on 64-bit kernel
  x86, mpx: rewrite unmap code
  x86, mpx: do not count MPX VMAs as neighbors when unmapping
  x86, mpx: allow mixed binaries again

 Documentation/kernel-parameters.txt |   4 +
 arch/x86/include/asm/fpu/xstate.h   |   1 +
 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    | 131 ++++++++++
 arch/x86/kernel/cpu/common.c        |  16 ++
 arch/x86/kernel/fpu/xstate.c        |  78 +++++-
 arch/x86/kernel/traps.c             |  18 +-
 arch/x86/kernel/uprobes.c           |  10 +-
 arch/x86/mm/mpx.c                   | 508 ++++++++++++++++++++++--------------
 kernel/sys.c                        |   8 +-
 12 files changed, 606 insertions(+), 267 deletions(-)
 create mode 100644 arch/x86/include/asm/trace/mpx.h


^ permalink raw reply	[flat|nested] 49+ messages in thread
* [PATCH 00/19] x86, mpx updates for 4.2 (take 9)
@ 2015-06-07 18:37 Dave Hansen
  2015-06-07 18:37 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
  0 siblings, 1 reply; 49+ messages in thread
From: Dave Hansen @ 2015-06-07 18:37 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, tglx, Dave Hansen


Changes from take 8 / v23:
 * Respond to some of Ingo's comments about get_xsave_field_ptr():
   1. add const in return type, and fix up the cascading need for
      'const' in other parts of the MPX code and tracepoints.
   2. add a local 'fpu' var
   3. Update patch description

Changes from take 7 / v22:
 * Add Thomas's reviewed-by
 * merge with tip/x86/fpu changes
 * Fix tiny spelling nit

Changes from take 6 / 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 cleaner and less error-prone
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 set is also available against tip/x86/fpu (8c05f05edb) in git:

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

Dave Hansen (19):
      x86, mpx, xsave: Fix up bad get_xsave_addr() assumptions
      x86, fpu: Wrap get_xsave_addr() to make it safer
      x86, mpx: Use new get_xsave_field_ptr()
      x86, mpx: Cleanup: Do not pass task around when unnecessary
      x86, mpx: remove redundant MPX_BNDCFG_ADDR_MASK
      x86, mpx: Restrict mmap size check to bounds tables
      x86, mpx: boot-time disable
      x86, mpx: trace #BR exceptions
      x86, mpx: trace entry to bounds exception paths
      x86, mpx: Trace the attempts to find bounds tables
      x86, mpx: trace allocation of new bounds tables
      x86: make is_64bit_mm() widely available
      x86, mpx: Add temporary variable to reduce masking
      x86, mpx: new directory entry to addr helper
      x86, mpx: do 32-bit-only cmpxchg for 32-bit apps
      x86, mpx: support 32-bit binaries on 64-bit kernel
      x86, mpx: rewrite unmap code
      x86, mpx: do not count MPX VMAs as neighbors when unmapping
      x86, mpx: allow mixed binaries again

 Documentation/kernel-parameters.txt |   4 +
 arch/x86/include/asm/fpu/xstate.h   |   1 +
 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    | 132 +++++++
 arch/x86/kernel/cpu/common.c        |  16 +
 arch/x86/kernel/fpu/xstate.c        |  77 ++++-
 arch/x86/kernel/traps.c             |  20 +-
 arch/x86/kernel/uprobes.c           |  10 +-
 arch/x86/mm/mpx.c                   | 514 +++++++++++++++++-----------
 kernel/sys.c                        |   8 +-
 12 files changed, 610 insertions(+), 271 deletions(-)


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

end of thread, other threads:[~2015-06-07 18:39 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-08 18:59 [PATCH 00/19] x86, mpx updates for 4.2 (take 6) Dave Hansen
2015-05-08 18:59 ` [PATCH 01/19] x86, mpx, xsave: fix up bad get_xsave_addr() assumptions Dave Hansen
2015-05-18 19:34   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 02/19] x86, fpu: wrap get_xsave_addr() to make it safer Dave Hansen
2015-05-18 19:38   ` Thomas Gleixner
2015-05-18 19:42     ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 03/19] x86, mpx: use new tsk_get_xsave_addr() Dave Hansen
2015-05-18 20:36   ` Thomas Gleixner
2015-05-19  0:01     ` Dave Hansen
2015-05-08 18:59 ` [PATCH 05/19] x86, mpx: remove redundant MPX_BNDCFG_ADDR_MASK Dave Hansen
2015-05-18 20:38   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 04/19] x86, mpx: cleanup: do not pass task around when unnecessary Dave Hansen
2015-05-18 20:38   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 07/19] x86, mpx: boot-time disable Dave Hansen
2015-05-18 20:45   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 06/19] x86, mpx: we do not allocate the bounds directory Dave Hansen
2015-05-18 20:43   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 09/19] x86, mpx: trace entry to bounds exception paths Dave Hansen
2015-05-18 20:58   ` Thomas Gleixner
2015-05-18 23:06     ` Dave Hansen
2015-05-18 23:35       ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 08/19] x86, mpx: trace #BR exceptions Dave Hansen
2015-05-18 21:00   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 10/19] x86, mpx: trace ranged MPX operations Dave Hansen
2015-05-18 21:04   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 12/19] x86: make is_64bit_mm() widely available Dave Hansen
2015-05-18 21:06   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 11/19] x86, mpx: trace allocation of new bounds tables Dave Hansen
2015-05-18 21:04   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 14/19] x86, mpx: new directory entry to addr helper Dave Hansen
2015-05-18 21:10   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 13/19] x86, mpx: Add temporary variable to reduce masking Dave Hansen
2015-05-18 21:07   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
2015-05-18 21:53   ` Thomas Gleixner
2015-05-18 23:29     ` Dave Hansen
2015-05-18 23:37       ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 15/19] x86, mpx: do 32-bit-only cmpxchg for 32-bit apps Dave Hansen
2015-05-18 21:22   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 17/19] x86, mpx: rewrite unmap code Dave Hansen
2015-05-18 21:55   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 18/19] x86, mpx: do not count MPX VMAs as neighbors when unmapping Dave Hansen
2015-05-18 21:54   ` Thomas Gleixner
2015-05-08 18:59 ` [PATCH 19/19] x86, mpx: allow mixed binaries again Dave Hansen
2015-05-18 21:55   ` Thomas Gleixner
  -- strict thread matches above, loose matches on Subject: below --
2015-05-19  6:25 [PATCH 00/19] x86, mpx updates for 4.2 (take 7) Dave Hansen
2015-05-19  6:25 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
2015-05-19  8:21   ` Thomas Gleixner
2015-05-27 18:36 [PATCH 00/19] x86, mpx updates for 4.2 (take 8) Dave Hansen
2015-05-27 18:36 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
2015-06-07 18:37 [PATCH 00/19] x86, mpx updates for 4.2 (take 9) Dave Hansen
2015-06-07 18:37 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen

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.