Re: [RFC][PATCH 0/8] x86, mpx: Support 32-bit binaries on 64-bit kernels

From: Andy Lutomirski
Date: Fri Dec 12 2014 - 15:22:22 EST


On 12/12/2014 11:12 AM, Dave Hansen wrote:
This is 3.20 material. I'm hoping to get some comments early
in case folks have some issues with the way it's being done.

--

The MPX hardware structures differ in layout in 32 and 64-bit
mode. A 32-bit binary running on a 64-bit kernel needs the
32-bit structures, so we need code which switches between
the two modes.

The OS community figured out years ago that you aren't supposed to do this. Did everyone forget to tell the hardware people?

:(

--Andy


The first patch is just a documentation update. The next 5
patches are really just prepwork. The meat is in the last 3.

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 32bit binaries on 64bit kernel

Documentation/x86/intel_mpx.txt | 12 +++-
arch/x86/include/asm/mmu_context.h | 13 +++++
arch/x86/include/asm/mpx.h | 2
arch/x86/include/asm/page_types.h | 8 +++
arch/x86/kernel/uprobes.c | 10 ---
arch/x86/mm/mpx.c | 93 ++++++++++++++++++++++++++++++-------
6 files changed, 107 insertions(+), 31 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/