From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754251AbbESGZU (ORCPT ); Tue, 19 May 2015 02:25:20 -0400 Received: from mga03.intel.com ([134.134.136.65]:25624 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753664AbbESGZO (ORCPT ); Tue, 19 May 2015 02:25:14 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,456,1427785200"; d="scan'208";a="696968337" Subject: [PATCH 00/19] x86, mpx updates for 4.2 (take 7) To: linux-kernel@vger.kernel.org Cc: x86@kernel.org, tglx@linutronix.de, Dave Hansen From: Dave Hansen Date: Mon, 18 May 2015 23:25:28 -0700 Message-Id: <20150519062528.E2D5DDFF@viggo.jf.intel.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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(-)