Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1241568
| From | Brian Gerst <brgerst@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2 05/36] x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access |
| Date | 2015-10-07 16:40 +0200 |
| Message-ID | <qgY2S-7BV-39@gated-at.bofh.it> (permalink) |
| References | <qgoC6-715-5@gated-at.bofh.it> <qgoLN-7cw-31@gated-at.bofh.it> <qgUVj-39p-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, Oct 7, 2015 at 7:10 AM, Borislav Petkov <bp@alien8.de> wrote: > On Mon, Oct 05, 2015 at 05:47:53PM -0700, Andy Lutomirski wrote: >> Clearing NT is part of the prologue, whereas loading up arg6 makes >> more sense to think about as part of syscall processing. Reorder >> them. >> >> Signed-off-by: Andy Lutomirski <luto@kernel.org> >> --- >> arch/x86/entry/entry_64_compat.S | 18 +++++++++--------- >> 1 file changed, 9 insertions(+), 9 deletions(-) >> >> diff --git a/arch/x86/entry/entry_64_compat.S b/arch/x86/entry/entry_64_compat.S >> index a9360d40fb7f..aa76864a8a6b 100644 >> --- a/arch/x86/entry/entry_64_compat.S >> +++ b/arch/x86/entry/entry_64_compat.S >> @@ -89,15 +89,6 @@ ENTRY(entry_SYSENTER_compat) >> sub $(10*8), %rsp /* pt_regs->r8-11, bp, bx, r12-15 not saved */ >> >> /* >> - * no need to do an access_ok check here because rbp has been >> - * 32-bit zero extended >> - */ >> - ASM_STAC >> -1: movl (%rbp), %ebp >> - _ASM_EXTABLE(1b, ia32_badarg) >> - ASM_CLAC >> - >> - /* >> * Sysenter doesn't filter flags, so we need to clear NT >> * ourselves. To save a few cycles, we can check whether >> * NT was set instead of doing an unconditional popfq. >> @@ -106,6 +97,15 @@ ENTRY(entry_SYSENTER_compat) >> jnz sysenter_fix_flags >> sysenter_flags_fixed: > > Btw, do I see it correctly that we can save us this jumping to > sysenter_fix_flags and back to sysenter_flags_fixed? Label is jumped to > only once and the couple of insns there can be behind a JZ... This is an optimization, since NT is unlikely to be set. The forward branch is usually predicted as not taken, and it keeps these rarely used instructions out of the hot cache. -- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2 05/36] x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access Andy Lutomirski <luto@kernel.org> - 2015-10-06 03:00 +0200
Re: [PATCH v2 05/36] x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access Borislav Petkov <bp@alien8.de> - 2015-10-07 13:20 +0200
Re: [PATCH v2 05/36] x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access Brian Gerst <brgerst@gmail.com> - 2015-10-07 16:40 +0200
Re: [PATCH v2 05/36] x86/entry/64/compat: Fix SYSENTER's NT flag before user memory access Borislav Petkov <bp@alien8.de> - 2015-10-07 17:10 +0200
[PATCH] x86/entry/64/compat: Document sysenter_fix_flags's reason for existence Borislav Petkov <bp@alien8.de> - 2015-10-09 19:10 +0200
Re: [PATCH] x86/entry/64/compat: Document sysenter_fix_flags's reason for existence Andy Lutomirski <luto@amacapital.net> - 2015-10-09 21:10 +0200
[tip:x86/asm] x86/entry/64/compat: Document sysenter_fix_flags' s reason for existence tip-bot for Borislav Petkov <tipbot@zytor.com> - 2015-10-11 11:20 +0200
[tip:x86/asm] x86/entry/64/compat: Fix SYSENTER' s NT flag before user memory access tip-bot for Andy Lutomirski <tipbot@zytor.com> - 2015-10-07 18:20 +0200
csiph-web