[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 4/7] x86: guard against straight-line speculation past RET



On 23.11.2020 14:44, Jan Beulich wrote:
> Under certain conditions CPUs can speculate into the instruction stream
> past a RET instruction. Guard against this just like 3b7dab93f240
> ("x86/spec-ctrl: Protect against CALL/JMP straight-line speculation")
> did - by inserting an "INT $3" insn. It's merely the mechanics of how to
> achieve this that differ: A set of macros gets introduced to post-
> process RET insns issued by the compiler (or living in assembly files).
> 
> Unfortunately for clang this requires further features their built-in
> assembler doesn't support: We need to be able to override insn mnemonics
> produced by the compiler (which may be impossible, if internally
> assembly mnemonics never get generated).
> 
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
> Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

So after committing I noticed that ...

> v4: Drop left-over checking of clang for \(text) handling.
> v3: Use .byte 0xc[23] instead of the nested macros.

... with this conversion the int3 was lost. Therefore I've reverted
the commit, for not having any real effect.

On top of this I've also noticed only now that this doesn't cover
the issue everywhere - asm-macros.h doesn't get included by some of
the files, and hence there the wanted transformation doesn't occur.
But I'm not sure we want to force its inclusion uniformly, from
e.g. asm-x86/config.h.

Jan



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.