From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752673AbbCZSdW (ORCPT ); Thu, 26 Mar 2015 14:33:22 -0400 Received: from mga01.intel.com ([192.55.52.88]:59605 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751342AbbCZSdU (ORCPT ); Thu, 26 Mar 2015 14:33:20 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,474,1422950400"; d="scan'208";a="686172548" Subject: [PATCH 00/17] x86, mpx updates for 4.1 (take 2) To: linux-kernel@vger.kernel.org Cc: x86@kernel.org, tglx@linutronix.de, Dave Hansen From: Dave Hansen Date: Thu, 26 Mar 2015 11:33:27 -0700 Message-Id: <20150326183327.64807530@viggo.jf.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi x86 maintainers, It appeared that my attempt to send this earlier this week failed to reach at least some of the intended recipients. I updated a few of the patch descriptions and am resending. 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. These are available against 4.0-rc4 in git as well: git://git.kernel.org/pub/scm/linux/kernel/git/daveh/x86-mpx.git mpx-v17 Dave Hansen (17): 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 when MPX is zapping pages x86, mpx: trace attempts to find bounds tables 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 | 133 ++++++++++++++++++ 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 | 32 +++++ arch/x86/mm/mpx.c | 270 +++++++++++++++++++++++++++++------- 11 files changed, 469 insertions(+), 104 deletions(-) create mode 100644 arch/x86/include/asm/trace/mpx.h -- 1.9.1