Re: [PATCH v3 5/6] x86/alternative: Use a single access in text_poke() where possible

From: hpa
Date: Fri Jan 11 2019 - 03:14:23 EST


On January 10, 2019 5:34:21 PM PST, Sean Christopherson <sean.j.christopherson@xxxxxxxxx> wrote:
>On Thu, Jan 10, 2019 at 04:59:55PM -0800, hpa@xxxxxxxxx wrote:
>> On January 10, 2019 9:42:57 AM PST, Sean Christopherson
><sean.j.christopherson@xxxxxxxxx> wrote:
>> >On Thu, Jan 10, 2019 at 12:32:43PM -0500, Steven Rostedt wrote:
>> >> On Thu, 10 Jan 2019 11:20:04 -0600
>> >> Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
>> >>
>> >>
>> >> > > While I can't find a reason for hypervisors to emulate this
>> >instruction,
>> >> > > smarter people might find ways to turn it into a security
>> >exploit.
>> >> >
>> >> > Interesting point... but I wonder if it's a realistic concern.
>> >BTW,
>> >> > text_poke_bp() also relies on undocumented behavior.
>> >>
>> >> But we did get an official OK from Intel that it will work. Took a
>> >bit
>> >> of arm twisting to get them to do so, but they did. And it really
>is
>> >> pretty robust.
>> >
>> >Did we (they?) list any caveats for this behavior? E.g. I'm fairly
>> >certain atomicity guarantees go out the window if WC memtype is
>used.
>>
>> If you run code from non-WB memory, all bets are off and you better
>> not be doing cross-modifying code.
>
>I wasn't thinking of running code from non-WB, but rather running code
>in WB while doing a CMC write via WC.

Same thing. Don't do that.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.