All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Andy Lutomirski <luto@kernel.org>,
	Andrea Arcangeli <aarcange@redhat.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Dave Hansen <dave.hansen@intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	David Woodhouse <dwmw2@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	LKML <linux-kernel@vger.kernel.org>,
	Ashok Raj <ashok.raj@intel.com>,
	Tim Chen <tim.c.chen@linux.intel.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Greg KH <gregkh@linuxfoundation.org>,
	Andi Kleen <ak@linux.intel.com>,
	Arjan Van De Ven <arjan.van.de.ven@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Asit Mallick <asit.k.mallick@intel.com>,
	Jason Baron <jbaron@akamai.com>
Subject: Re: [PATCH 23/35] x86/speculation: Add basic speculation control code
Date: Thu, 18 Jan 2018 23:35:36 +0000	[thread overview]
Message-ID: <9e771f85-ed55-6a94-ad57-b6b8f93a3413@citrix.com> (raw)
In-Reply-To: <CALCETrU9Xa6pBd-WuQ9S1s32f7Nb=p9eHEAv7oixf+vZa18ETg@mail.gmail.com>

On 18/01/2018 23:25, Andy Lutomirski wrote:
> On Thu, Jan 18, 2018 at 11:08 AM, Andrea Arcangeli <aarcange@redhat.com> wrote:
>> On Thu, Jan 18, 2018 at 12:24:31PM -0600, Josh Poimboeuf wrote:
>>> On Thu, Jan 18, 2018 at 06:12:36PM +0100, Paolo Bonzini wrote:
>>>> On 18/01/2018 18:08, Dave Hansen wrote:
>>>>> On 01/18/2018 08:37 AM, Josh Poimboeuf wrote:
>>>>>>> --- a/Documentation/admin-guide/kernel-parameters.txt
>>>>>>> +++ b/Documentation/admin-guide/kernel-parameters.txt
>>>>>>> @@ -3932,6 +3932,7 @@
>>>>>>>                         retpoline         - replace indirect branches
>>>>>>>                         retpoline,generic - google's original retpoline
>>>>>>>                         retpoline,amd     - AMD-specific minimal thunk
>>>>>>> +                       ibrs              - Intel: Indirect Branch Restricted Speculation
>>>>>> Are there plans to add spectre_v2=ibrs_always to prevent SMT-based
>>>>>> attacks?
>>>>> What does "ibrs_always" mean to you?
>>> Maybe ibrs_always isn't the best name.  Basically we need an option to
>>> protect user-user attacks via SMT.
>>>
>>> It could be implemented with IBRS=1, or STIBP, or as part of the
>>> mythical IBRS_ATT.
>> User stibp or user ibrs would be different things, both would be valid
>> for different use cases, and the user stibp should perform better.
>>
>> Leaving ibrs on when returning from kernel to userland (or setting
>> ibrs if kernel used retpolines instead of ibrs) achieves stronger
>> semantics than just setting SPEC_CTRL with stibp when returning to
>> userland.
> I read the whitepaper that documented the new MSRs a couple days ago
> and I'm now completely unable to find it.  If anyone could send the
> link, that would be great.

https://software.intel.com/sites/default/files/managed/c5/63/336996-Speculative-Execution-Side-Channel-Mitigations.pdf

~Andrew

  reply	other threads:[~2018-01-18 23:35 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-18 13:48 [PATCH 00/35] jump_label, objtool, IBRS and IBPB Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 01/35] jump_label: Add branch hints to static_branch_{un,}likely() Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 02/35] sched: Optimize ttwu_stat() Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 03/35] x86: Reindent _static_cpu_has Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 04/35] x86: Update _static_cpu_has to use all named variables Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 05/35] x86: Add a type field to alt_instr Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 06/35] objtool: Implement base jump_assert support Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 07/35] x86: Annotate static_cpu_has alternative Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 08/35] objtool: Implement jump_assert for _static_cpu_has() Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 09/35] objtool: Introduce special_type Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 10/35] x86/jump_label: Implement arch_static_assert() Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 11/35] objtool: Add retpoline validation Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 12/35] x86/paravirt: Annotate indirect calls Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 13/35] x86,nospec: Annotate indirect calls/jumps Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 14/35] x86: Annotate indirect jump in head_64.S Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 15/35] objtool: More complex static jump implementation Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 16/35] objtool: Use existing global variables for options Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 17/35] objtool: Even more complex static block checks Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 18/35] objtool: Another static block fail Peter Zijlstra, Peter Zijlstra
2018-01-19 16:42   ` Peter Zijlstra
2018-01-29 18:01     ` Josh Poimboeuf
2018-01-29 18:24       ` Peter Zijlstra
2018-01-18 13:48 ` [PATCH 19/35] objtool: Skip static assert when KCOV/KASAN Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 20/35] x86: Force asm-goto Peter Zijlstra, Peter Zijlstra
2018-01-18 16:25   ` David Woodhouse
2018-01-18 13:48 ` [PATCH 21/35] x86: Remove FAST_FEATURE_TESTS Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 22/35] x86/cpufeatures: Detect Speculation control feature Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 23/35] x86/speculation: Add basic speculation control code Peter Zijlstra, Peter Zijlstra
2018-01-18 16:37   ` Josh Poimboeuf
2018-01-18 17:08     ` Dave Hansen
2018-01-18 17:12       ` Paolo Bonzini
2018-01-18 18:24         ` Josh Poimboeuf
2018-01-18 19:08           ` Andrea Arcangeli
2018-01-18 23:25             ` Andy Lutomirski
2018-01-18 23:35               ` Andrew Cooper [this message]
2018-01-19  1:41               ` Andrea Arcangeli
2018-01-19  4:10                 ` Andy Lutomirski
2018-01-19  4:15                   ` Van De Ven, Arjan
2018-01-19 15:47                     ` Andrea Arcangeli
2018-01-18 13:48 ` [PATCH 24/35] x86/msr: Move native_*msr macros out of microcode.h Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 25/35] x86/speculation: Add inlines to control Indirect Branch Speculation Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 26/35] x86/enter: Create macros to stop/restart " Peter Zijlstra, Peter Zijlstra
2018-01-18 19:44   ` Tim Chen
2018-01-18 13:48 ` [PATCH 27/35] x86/enter: Use IBRS on syscall and interrupts Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 28/35] x86/idle: Control Indirect Branch Speculation in idle Peter Zijlstra, Peter Zijlstra
2018-01-18 19:52   ` Andrew Cooper
2018-01-18 13:48 ` [PATCH 29/35] x86/speculation: Add IPBP support Peter Zijlstra, Peter Zijlstra
2018-01-18 16:22   ` Josh Poimboeuf
2018-01-18 18:31   ` Borislav Petkov
2018-01-18 18:35     ` Josh Poimboeuf
2018-01-18 18:46       ` Borislav Petkov
2018-01-18 13:48 ` [PATCH 30/35] x86/speculation: Use Indirect Branch Prediction Barrier in context switch Peter Zijlstra, Peter Zijlstra
2018-01-19  0:38   ` Tim Chen
2018-01-19  4:03     ` Kevin Easton
2018-01-19 20:26       ` Tim Chen
2018-01-18 13:48 ` [PATCH 31/35] x86/ibrs: Add new helper macros to save/restore MSR_IA32_SPEC_CTRL Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 32/35] x86/vmx: Direct access to MSR_IA32_SPEC_CTRL Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 33/35] x86/svm: " Peter Zijlstra, Peter Zijlstra
2018-01-18 13:48 ` [PATCH 34/35] x86/kvm: Add IBPB support Peter Zijlstra, Peter Zijlstra
2018-01-18 15:32   ` Paolo Bonzini
2018-01-19 15:25     ` Paolo Bonzini
2018-01-19 16:08       ` David Woodhouse
2018-01-19 16:27         ` Andy Lutomirski
2018-01-19 16:48         ` Paolo Bonzini
2018-01-18 13:48 ` [PATCH 35/35] x86/nospec: Add static assertions Peter Zijlstra, Peter Zijlstra

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=9e771f85-ed55-6a94-ad57-b6b8f93a3413@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=aarcange@redhat.com \
    --cc=ak@linux.intel.com \
    --cc=arjan.van.de.ven@intel.com \
    --cc=ashok.raj@intel.com \
    --cc=asit.k.mallick@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.hansen@intel.com \
    --cc=dwmw2@infradead.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jbaron@akamai.com \
    --cc=jpoimboe@redhat.com \
    --cc=jun.nakajima@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --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.