> On Jan 28, 2018, at 12:44 PM, David Woodhouse <dwmw2@xxxxxxxxxxxxx> wrote: > >> On Sun, 2018-01-28 at 12:40 -0800, Andy Lutomirski wrote: >> >> Do you mean that the host would intercept the guest WRMSR and do >> WRMSR itself? I would suggest that doing so is inconsistent with the >> docs. As specified, doing WRMSR to write 1 to IBRS does *not* >> protect the guest. > > I believe it does. Guest kernel is protected from any guest userspace > predictions learned before IBRS was last set to 1 in *any* mode, > including host. Hmm, you're probably right. I would love to know what awful hack Intel did that resulted in these semantics. > >> For that matter, what are the semantics of VMRESUME doing a write to >> IBRS as part of its MSR switch? Is it treated as IBRS=1 from guest >> context? > > Why does it matter? We *have* confirmed, FWIW, that VMRESUME writing 1 > to IBRS as part of its MSR switch when it was already 1 is not > optimised away and *is* treated as writing IBRS=1 again. That's good news.