Re: [RFC PATCH 3/4] x86/speculation: Use IBRS if available before calling into firmware
From: David Woodhouse
Date: Wed Feb 07 2018 - 06:29:26 EST
On Wed, 2018-02-07 at 12:17 +0100, Borislav Petkov wrote:
> Just some random thoughts:
>
> On Wed, Feb 07, 2018 at 12:03:13AM +0000, David Woodhouse wrote:
> >
> > +#define alternative_msr_write(_msr, _val, _feature) \
> > + asm volatile(ALTERNATIVE("", \
> > + Â"movl %[msr], %%ecx\n\t" \
> > + Â"movl %[val], %%eax\n\t" \
> > + Â"movl $0, %%edx\n\t" \
> We'll never write anything except 0 in %edx?
For these uses, no.
> >
> > + Â"wrmsr", \
> > + Â_feature) \
> > + ÂÂÂÂÂ: : [msr] "i" (_msr), [val] "i" (_val) \
> > + ÂÂÂÂÂ: "eax", "ecx", "edx", "memory")
>
> So I'm not crazy about making it a separate macro because TBH it doesn't
> look too generic to do that but then again what do I know, considering
> recent history. :-)
It was mostly split out so that if you want to keep playing silly
buggers with it, you can do so in only one place and not three.
If you don't want to keep messing with it, I'm happy to not bother ;)
> [ Maybe I need to not look at the spectral meltdown for a
> ÂÂÂcouple of weeks and simply take a break. ]
>
> I guess it is fine if it is in nospec-branch.h and not prefix it with
> alternative_ so that it doesn't give people ideas.
Right. It wasn't really being proposed as a generic alternative.
> Oh and firmware_restrict_branch_speculation_start/end() is just too long
> a name.
Yeah... Thomas wanted descriptive names; I'm not really convinced.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature