Re: Do we need to do anything about "dead µops?"

From: Josh Poimboeuf
Date: Mon May 03 2021 - 19:30:20 EST


On Sat, May 01, 2021 at 09:26:33AM -0700, Andy Lutomirski wrote:
> Hi all-
>
> The "I See Dead µops" paper that is all over the Internet right now is
> interesting, and I think we should discuss the extent to which we
> should do anything about it. I think there are two separate issues:
>
> First, should we (try to) flush the µop cache across privilege
> boundaries? I suspect we could find ways to do this, but I don't
> really see the point. A sufficiently capable attacker (i.e. one who
> can execute their own code in the dangerous speculative window or one
> who can find a capable enough string of gadgets) can put secrets into
> the TLB, various cache levels, etc. The µop cache is a nice piece of
> analysis, but I don't think it's qualitatively different from anything
> else that we don't flush. Am I wrong?

Wouldn't this type of gadget (half-v1 gadget + value-dependent-branch)
would be much more likely to occur than a traditional Spectre v1
(half-v1 gadget + value-addressed-load)?

Also, in section V.A., they identified 37 gadgets. Has anybody looked
at those yet?

(And this makes me realize my uaccess pointer masking patch [1] never
got merged...)

[1] https://lore.kernel.org/lkml/1d06ed6485b66b9f674900368b63d7ef79f666ca.1599756789.git.jpoimboe@xxxxxxxxxx/

--
Josh