[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <510876ab-97cd-9ec9-cc5e-0a2db038704b@linux.intel.com>
Date: Fri, 19 Jan 2018 12:26:46 -0800
From: Tim Chen <tim.c.chen@...ux.intel.com>
To: Kevin Easton <kevin@...rana.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
David Woodhouse <dwmw2@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>,
Josh Poimboeuf <jpoimboe@...hat.com>,
linux-kernel@...r.kernel.org, Dave Hansen <dave.hansen@...el.com>,
Ashok Raj <ashok.raj@...el.com>,
Andy Lutomirski <luto@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Greg KH <gregkh@...uxfoundation.org>,
Andrea Arcangeli <aarcange@...hat.com>,
Andi Kleen <ak@...ux.intel.com>,
Arjan Van De Ven <arjan.van.de.ven@...el.com>,
Dan Williams <dan.j.williams@...el.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Jun Nakajima <jun.nakajima@...el.com>,
Asit Mallick <asit.k.mallick@...el.com>,
Jason Baron <jbaron@...mai.com>
Subject: Re: [PATCH 30/35] x86/speculation: Use Indirect Branch Prediction
Barrier in context switch
On 01/18/2018 08:03 PM, Kevin Easton wrote:
> On Thu, Jan 18, 2018 at 04:38:32PM -0800, Tim Chen wrote:
>> On 01/18/2018 05:48 AM, Peter Zijlstra wrote:
>>>
>>> + /*
>>> + * Avoid user/user BTB poisoning by flushing the branch predictor
>>> + * when switching between processes. This stops one process from
>>> + * doing spectre-v2 attacks on another process's data.
>>> + */
>>> + indirect_branch_prediction_barrier();
>>> +
>>
>> Some optimizations can be done here to avoid overhead in barrier call.
>>
>> For example, don't do the barrier if prev and next mm are
>> the same. If the two process trust each other, or the new process
>> already have rights to look into the previous process,
>> the barrier could be skipped.
>
> Isn't it the other way around with the BTB poisoning? previous is
> potentially attacking next, so the barrier can be avoided only if previous
> is allowed to ptrace next?
>
Yes, if the next process don't trust the previous process, then
doing a prediction barrier before the context switch makes sense.
Tim
Powered by blists - more mailing lists