All of lore.kernel.org
 help / color / mirror / Atom feed
From: tip-bot for Dave Hansen <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, mingo@kernel.org,
	tglx@linutronix.de, dave.hansen@linux.intel.com, dave@sr71.net,
	torvalds@linux-foundation.org, akpm@linux-foundation.org,
	hpa@zytor.com, peterz@infradead.org
Subject: [tip:x86/fpu] x86/mpx: Add temporary variable to reduce masking
Date: Tue, 9 Jun 2015 05:34:29 -0700	[thread overview]
Message-ID: <tip-a1149fc83a1f97612e72ec24a0bdbabff7b85e77@git.kernel.org> (raw)
In-Reply-To: <20150607183704.3D69D5F4@viggo.jf.intel.com>

Commit-ID:  a1149fc83a1f97612e72ec24a0bdbabff7b85e77
Gitweb:     http://git.kernel.org/tip/a1149fc83a1f97612e72ec24a0bdbabff7b85e77
Author:     Dave Hansen <dave.hansen@linux.intel.com>
AuthorDate: Sun, 7 Jun 2015 11:37:04 -0700
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 9 Jun 2015 12:24:33 +0200

x86/mpx: Add temporary variable to reduce masking

When we allocate a bounds table, we call mmap(), then add a
"valid" bit to the value before storing it in to the bounds
directory.

If we fail along the way, we go and mask that valid bit
_back_ out.  That seems a little silly, and this makes it
much more clear when we have a plain address versus an
actual table _entry_.

Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dave Hansen <dave@sr71.net>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20150607183704.3D69D5F4@viggo.jf.intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/mm/mpx.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/mm/mpx.c b/arch/x86/mm/mpx.c
index c17fd27..4f7fb7c 100644
--- a/arch/x86/mm/mpx.c
+++ b/arch/x86/mm/mpx.c
@@ -429,6 +429,7 @@ static int allocate_bt(long __user *bd_entry)
 	unsigned long expected_old_val = 0;
 	unsigned long actual_old_val = 0;
 	unsigned long bt_addr;
+	unsigned long bd_new_entry;
 	int ret = 0;
 
 	/*
@@ -441,7 +442,7 @@ static int allocate_bt(long __user *bd_entry)
 	/*
 	 * Set the valid flag (kinda like _PAGE_PRESENT in a pte)
 	 */
-	bt_addr = bt_addr | MPX_BD_ENTRY_VALID_FLAG;
+	bd_new_entry = bt_addr | MPX_BD_ENTRY_VALID_FLAG;
 
 	/*
 	 * Go poke the address of the new bounds table in to the
@@ -455,7 +456,7 @@ static int allocate_bt(long __user *bd_entry)
 	 * of the MPX code that have to pagefault_disable().
 	 */
 	ret = user_atomic_cmpxchg_inatomic(&actual_old_val, bd_entry,
-					   expected_old_val, bt_addr);
+					   expected_old_val, bd_new_entry);
 	if (ret)
 		goto out_unmap;
 
@@ -486,7 +487,7 @@ static int allocate_bt(long __user *bd_entry)
 	trace_mpx_new_bounds_table(bt_addr);
 	return 0;
 out_unmap:
-	vm_munmap(bt_addr & MPX_BT_ADDR_MASK, MPX_BT_SIZE_BYTES);
+	vm_munmap(bt_addr, MPX_BT_SIZE_BYTES);
 	return ret;
 }
 

  reply	other threads:[~2015-06-09 12:35 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-07 18:37 [PATCH 00/19] x86, mpx updates for 4.2 (take 9) Dave Hansen
2015-06-07 18:37 ` [PATCH 02/19] x86, fpu: Wrap get_xsave_addr() to make it safer Dave Hansen
2015-06-09 12:31   ` [tip:x86/fpu] x86/fpu/xstate: " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 01/19] x86, mpx, xsave: Fix up bad get_xsave_addr() assumptions Dave Hansen
2015-06-09 12:30   ` [tip:x86/fpu] x86/fpu/xstate: " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 03/19] x86, mpx: Use new get_xsave_field_ptr() Dave Hansen
2015-06-09 12:31   ` [tip:x86/fpu] x86/mpx: Use the new get_xsave_field_ptr()API tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 05/19] x86, mpx: remove redundant MPX_BNDCFG_ADDR_MASK Dave Hansen
2015-06-09 12:32   ` [tip:x86/fpu] x86/mpx: Remove " tip-bot for Qiaowei Ren
2015-06-07 18:37 ` [PATCH 06/19] x86, mpx: Restrict mmap size check to bounds tables Dave Hansen
2015-06-09 12:32   ` [tip:x86/fpu] x86/mpx: Restrict the mmap() " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 04/19] x86, mpx: Cleanup: Do not pass task around when unnecessary Dave Hansen
2015-06-09 12:31   ` [tip:x86/fpu] x86/mpx: Clean up the code by not passing a task pointer " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 07/19] x86, mpx: boot-time disable Dave Hansen
2015-06-09 12:32   ` [tip:x86/fpu] x86/mpx: Introduce a boot-time disable flag tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 10/19] x86, mpx: Trace the attempts to find bounds tables Dave Hansen
2015-06-09 12:33   ` [tip:x86/fpu] x86/mpx: " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 08/19] x86, mpx: trace #BR exceptions Dave Hansen
2015-06-09 12:33   ` [tip:x86/fpu] x86/mpx: Trace " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 09/19] x86, mpx: trace entry to bounds exception paths Dave Hansen
2015-06-09 12:33   ` [tip:x86/fpu] x86/mpx: Trace " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 14/19] x86, mpx: new directory entry to addr helper Dave Hansen
2015-06-09 12:34   ` [tip:x86/fpu] x86/mpx: Introduce new 'directory entry' to 'addr' helper function tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 12/19] x86: make is_64bit_mm() widely available Dave Hansen
2015-06-09 12:34   ` [tip:x86/fpu] x86: Make " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 13/19] x86, mpx: Add temporary variable to reduce masking Dave Hansen
2015-06-09 12:34   ` tip-bot for Dave Hansen [this message]
2015-06-07 18:37 ` [PATCH 11/19] x86, mpx: trace allocation of new bounds tables Dave Hansen
2015-06-09 12:33   ` [tip:x86/fpu] x86/mpx: Trace " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 15/19] x86, mpx: do 32-bit-only cmpxchg for 32-bit apps Dave Hansen
2015-06-09 12:35   ` [tip:x86/fpu] x86/mpx: Use 32-bit-only cmpxchg() " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 16/19] x86, mpx: support 32-bit binaries on 64-bit kernel Dave Hansen
2015-06-09 12:35   ` [tip:x86/fpu] x86/mpx: Support 32-bit binaries on 64-bit kernels tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 17/19] x86, mpx: rewrite unmap code Dave Hansen
2015-06-09 12:35   ` [tip:x86/fpu] x86/mpx: Rewrite the " tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 19/19] x86, mpx: allow mixed binaries again Dave Hansen
2015-06-09 12:36   ` [tip:x86/fpu] x86/mpx: Allow 32-bit binaries on 64-bit kernels again tip-bot for Dave Hansen
2015-06-07 18:37 ` [PATCH 18/19] x86, mpx: do not count MPX VMAs as neighbors when unmapping Dave Hansen
2015-06-09 10:23   ` Ingo Molnar
2015-06-09 12:35   ` [tip:x86/fpu] x86/mpx: Do " tip-bot for Dave Hansen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tip-a1149fc83a1f97612e72ec24a0bdbabff7b85e77@git.kernel.org \
    --to=tipbot@zytor.com \
    --cc=akpm@linux-foundation.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=dave@sr71.net \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.