x86, mpx updates for 4.1 (take 4)
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest16 patches 13 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/16 | x86, fpu: wrap get_xsave_addr() to make it saferarch/ arch/ | +32 | 10 replies | |
| 2/16 | x86, mpx: use new tsk_get_xsave_addr()arch/ arch/ arch/ | +18 | 0 replies | |
| 3/16 | x86, mpx: trace #BR exceptionsarch/ arch/ arch/ | +53 | 0 replies | |
| 4/16 | x86, mpx: trace entry to bounds exception pathsarch/ arch/ | +27 | 0 replies | |
| 5/16 | x86, mpx: trace ranged MPX operationsarch/ arch/ | +34 | 0 replies | |
| 6/16 | x86, mpx: trace allocation of new bounds tablesarch/ arch/ | +17 | 0 replies | |
| 7/16 | x86, mpx: boot-time disableDocumentation/ arch/ | +20 | 0 replies | |
| 8/16 | x86: make is_64bit_mm() widely availablearch/ arch/ | +14 | 0 replies | |
| 9/16 | x86: make __VIRTUAL_MASK safe to use on 32 bitarch/ | +8 | 0 replies | |
| 10/16 | x86, mpx: we do not allocate the bounds directoryarch/ | +2 | 0 replies | |
| 11/16 | x86, mpx: remove redundant MPX_BNDCFG_ADDR_MASKarch/ | +0 | 0 replies | |
| 12/16 | x86, mpx: Add temporary variable to reduce maskingarch/ | +4 | 0 replies | |
| 13/16 | x86, mpx: new directory entry to addr helperarch/ arch/ | +34 | 0 replies | |
| 14/16 | x86, mpx: do 32-bit-only cmpxchg for 32-bit appsarch/ | +36 | 0 replies | |
| 15/16 | x86, mpx: support 32-bit binaries on 64-bit kernelarch/ arch/ | +163 | 0 replies | |
| 16/16 | x86, mpx: allow mixed binaries againarch/ | +0 | 0 replies |
Reviews trailers per patch
None of the 16 patches has a Reviewed-by or Acked-by.
| Patch | Qiaowei Ren |
|---|---|
| 1/16 | |
| 2/16 | |
| 3/16 | |
| 4/16 | |
| 5/16 | |
| 6/16 | |
| 7/16 | |
| 8/16 | |
| 9/16 | |
| 10/16 | |
| 11/16 | |
| 12/16 | |
| 13/16 | |
| 14/16 | |
| 15/16 | Based-on-patch-by |
| 16/16 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 00/16] x86, mpx updates for 4.1 (take 4)
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 4 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. Support 32-bit binaries to run on 64-bit kernels
I've hesitated sending this in the past few weeks as the FPU code had a lot of churn and affected our ability to test on current kernels. It seems to have settled down and appears more stable now.
As mentioned in the tsk_get_xsave_addr() patches, this must be applied after Oleg's fixes which currently ends with:
commit 7fc253e27 ("x86/fpu: Kill eager_fpu_init_bp()")This set is also available against 4.0-rc4 in git:
git://git.kernel.org/pub/scm/linux/kernel/git/daveh/x86-mpx.git mpx-v19
Dave Hansen (16):
x86, fpu: wrap get_xsave_addr() to make it safer x86, mpx: use new tsk_get_xsave_addr() x86, mpx: trace #BR exceptions
x86, mpx: trace entry to bounds exception paths x86, mpx: trace ranged MPX operations
x86, mpx: trace allocation of new bounds tables x86, mpx: boot-time disable
x86: make is_64bit_mm() widely available
x86: make __VIRTUAL_MASK safe to use on 32 bit x86, mpx: we do not allocate the bounds directory x86, mpx: remove redundant MPX_BNDCFG_ADDR_MASK 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: allow mixed binaries again
Documentation/kernel-parameters.txt | 4 + arch/x86/include/asm/mmu_context.h | 13 ++ arch/x86/include/asm/mpx.h | 74 +++++----- arch/x86/include/asm/page_types.h | 8 ++ arch/x86/include/asm/trace/mpx.h | 121 ++++++++++++++++ arch/x86/include/asm/xsave.h | 1 + arch/x86/kernel/cpu/common.c | 16 +++ arch/x86/kernel/traps.c | 12 +- arch/x86/kernel/uprobes.c | 10 +- arch/x86/kernel/xsave.c | 31 +++++ arch/x86/mm/mpx.c | 270 +++++++++++++++++++++++++++++------- 11 files changed, 456 insertions(+), 104 deletions(-) create mode 100644 arch/x86/include/asm/trace/mpx.h