From: Linus Torvalds <torvalds@linux-foundation.org> To: Andi Kleen <ak@linux.intel.com> Cc: Dominik Brodowski <linux@dominikbrodowski.net>, Ingo Molnar <mingo@kernel.org>, Dan Williams <dan.j.williams@intel.com>, Thomas Gleixner <tglx@linutronix.de>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Andrew Lutomirski <luto@kernel.org>, "the arch/x86 maintainers" <x86@kernel.org> Subject: Re: [PATCH tip-pti 2/2] x86/entry: interleave XOR register clearing with PUSH/MOV instructions Date: Wed, 7 Feb 2018 09:05:03 -0800 [thread overview] Message-ID: <CA+55aFzM8ynf4m-X6EPS10gxNqsKPN_8mGucGHvBp8H+OkgW3g@mail.gmail.com> (raw) In-Reply-To: <20180207151854.GB10945@tassilo.jf.intel.com> On Wed, Feb 7, 2018 at 7:18 AM, Andi Kleen <ak@linux.intel.com> wrote: > > Fast path saves more than just register saving. I changed the fast path > to save all registers in my earlier clearregs branches I know. I saw your patches. And I went "Eww". > It is still quite a bit faster than all the slow stuff the C do_syscall > code does (e.g. reloading all the arguments, setting up unnecessary > frame pointers etc.). > > Just take a look at the disassembly of that function. It's really > not very optimized. Actually, only the argument reloading _really_ annoys me in do_syscall(). And I do think we should be able to fix that fairly easily by moving it into the SYSCALLx() macros - at least for 64-bit (32-bit has nasty issues with 64-bit arguments). The other thing we need to do is to just pass down the system call number as an argument instead of reloading it. Linus
next prev parent reply other threads:[~2018-02-07 17:05 UTC|newest] Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-02-06 1:18 [PATCH v3 0/3] x86/entry: Clear registers to sanitize speculative usages Dan Williams 2018-02-06 1:18 ` [PATCH v3 1/3] x86/entry: Clear extra registers beyond syscall arguments for 64bit kernels Dan Williams 2018-02-06 11:52 ` [tip:x86/pti] x86/entry/64: Clear extra registers beyond syscall arguments, to reduce speculation attack surface tip-bot for Dan Williams 2018-02-06 1:18 ` [PATCH v3 2/3] x86/entry: Clear registers for 64bit exceptions/interrupts Dan Williams 2018-02-06 9:04 ` Dominik Brodowski 2018-02-06 10:48 ` Ingo Molnar 2018-02-06 9:17 ` Dominik Brodowski 2018-02-06 10:51 ` Ingo Molnar 2018-02-06 10:57 ` Dominik Brodowski 2018-02-06 21:25 ` [PATCH tip-pti 1/2] x86/entry: remove SAVE_C_REGS_EXCEPT_* macros Dominik Brodowski 2018-02-06 22:56 ` Linus Torvalds 2018-02-06 21:32 ` [PATCH tip-pti 2/2] x86/entry: interleave XOR register clearing with PUSH/MOV instructions Dominik Brodowski 2018-02-06 22:30 ` Dan Williams 2018-02-06 22:48 ` Linus Torvalds 2018-02-06 23:05 ` Andy Lutomirski 2018-02-06 23:54 ` Andi Kleen 2018-02-07 1:30 ` Linus Torvalds 2018-02-07 15:18 ` Andi Kleen 2018-02-07 17:05 ` Linus Torvalds [this message] 2018-02-07 17:37 ` Linus Torvalds 2018-02-06 12:00 ` [tip:x86/pti] x86/entry/64: Clear registers for exceptions/interrupts, to reduce speculation attack surface tip-bot for Dan Williams 2018-02-06 1:18 ` [PATCH v3 3/3] x86/entry: Clear registers for compat syscalls Dan Williams 2018-02-06 7:26 ` Ingo Molnar 2018-02-06 7:53 ` Dan Williams 2018-02-06 12:00 ` [tip:x86/pti] x86/entry/64/compat: Clear registers for compat syscalls, to reduce speculation attack surface tip-bot for Dan Williams
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=CA+55aFzM8ynf4m-X6EPS10gxNqsKPN_8mGucGHvBp8H+OkgW3g@mail.gmail.com \ --to=torvalds@linux-foundation.org \ --cc=ak@linux.intel.com \ --cc=dan.j.williams@intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@dominikbrodowski.net \ --cc=luto@kernel.org \ --cc=mingo@kernel.org \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ --subject='Re: [PATCH tip-pti 2/2] x86/entry: interleave XOR register clearing with PUSH/MOV instructions' \ /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
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.