| From 3d44d51bd339766f0178f0cf2e8d048b4a4872aa Mon Sep 17 00:00:00 2001 |
| From: Andy Lutomirski <luto@kernel.org> |
| Date: Wed, 24 Feb 2016 12:18:49 -0800 |
| Subject: x86/entry/compat: Add missing CLAC to entry_INT80_32 |
| |
| From: Andy Lutomirski <luto@kernel.org> |
| |
| commit 3d44d51bd339766f0178f0cf2e8d048b4a4872aa upstream. |
| |
| This doesn't seem to fix a regression -- I don't think the CLAC was |
| ever there. |
| |
| I double-checked in a debugger: entries through the int80 gate do |
| not automatically clear AC. |
| |
| Stable maintainers: I can provide a backport to 4.3 and earlier if |
| needed. This needs to be backported all the way to 3.10. |
| |
| Reported-by: Brian Gerst <brgerst@gmail.com> |
| Signed-off-by: Andy Lutomirski <luto@kernel.org> |
| Cc: Andy Lutomirski <luto@amacapital.net> |
| Cc: Borislav Petkov <bp@alien8.de> |
| Cc: Denys Vlasenko <dvlasenk@redhat.com> |
| Cc: H. Peter Anvin <hpa@zytor.com> |
| Cc: Linus Torvalds <torvalds@linux-foundation.org> |
| Cc: Peter Zijlstra <peterz@infradead.org> |
| Cc: Thomas Gleixner <tglx@linutronix.de> |
| Fixes: 63bcff2a307b ("x86, smap: Add STAC and CLAC instructions to control user space access") |
| Link: http://lkml.kernel.org/r/b02b7e71ae54074be01fc171cbd4b72517055c0e.1456345086.git.luto@kernel.org |
| Signed-off-by: Ingo Molnar <mingo@kernel.org> |
| [ kamal: backport to 3.10 through 3.19-stable: file rename; context ] |
| Signed-off-by: Kamal Mostafa <kamal@canonical.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| arch/x86/ia32/ia32entry.S | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/arch/x86/ia32/ia32entry.S |
| +++ b/arch/x86/ia32/ia32entry.S |
| @@ -422,6 +422,7 @@ ENTRY(ia32_syscall) |
| /*CFI_REL_OFFSET cs,CS-RIP*/ |
| CFI_REL_OFFSET rip,RIP-RIP |
| PARAVIRT_ADJUST_EXCEPTION_FRAME |
| + ASM_CLAC /* Do this early to minimize exposure */ |
| SWAPGS |
| /* |
| * No need to follow this irqs on/off section: the syscall |