| From: Dan Williams <dan.j.williams@intel.com> |
| Date: Tue, 6 Feb 2018 18:22:40 -0800 |
| Subject: x86/speculation: Fix up array_index_nospec_mask() asm constraint |
| |
| commit be3233fbfcb8f5acb6e3bcd0895c3ef9e100d470 upstream. |
| |
| Allow the compiler to handle @size as an immediate value or memory |
| directly rather than allocating a register. |
| |
| Reported-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Dan Williams <dan.j.williams@intel.com> |
| Cc: Andy Lutomirski <luto@kernel.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Link: http://lkml.kernel.org/r/151797010204.1289.1510000292250184993.stgit@dwillia2-desk3.amr.corp.intel.com |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/x86/include/asm/barrier.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/x86/include/asm/barrier.h |
| +++ b/arch/x86/include/asm/barrier.h |
| @@ -40,7 +40,7 @@ static inline unsigned long array_index_ |
| |
| asm ("cmp %1,%2; sbb %0,%0;" |
| :"=r" (mask) |
| - :"r"(size),"r" (index) |
| + :"g"(size),"r" (index) |
| :"cc"); |
| return mask; |
| } |