Re: [tip:x86/pti] x86/retpoline: Fill return stack buffer on vmexit

From: Thomas Gleixner
Date: Sun Jan 14 2018 - 10:29:22 EST


On Sun, 14 Jan 2018, Borislav Petkov wrote:

> On Fri, Jan 12, 2018 at 03:37:49AM -0800, tip-bot for David Woodhouse wrote:
> > Commit-ID: 117cc7a908c83697b0b737d15ae1eb5943afe35b
> > Gitweb: https://git.kernel.org/tip/117cc7a908c83697b0b737d15ae1eb5943afe35b
> > Author: David Woodhouse <dwmw@xxxxxxxxxxxx>
> > AuthorDate: Fri, 12 Jan 2018 11:11:27 +0000
> > Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > CommitDate: Fri, 12 Jan 2018 12:33:37 +0100
> >
> > x86/retpoline: Fill return stack buffer on vmexit
>
> ...
>
> > + /*
> > + * A simpler FILL_RETURN_BUFFER macro. Don't make people use the CPP
> > + * monstrosity above, manually.
> > + */
> > +.macro FILL_RETURN_BUFFER reg:req nr:req ftr:req
> > +#ifdef CONFIG_RETPOLINE
> > + ANNOTATE_NOSPEC_ALTERNATIVE
> > + ALTERNATIVE "jmp .Lskip_rsb_\@", \
> > + __stringify(__FILL_RETURN_BUFFER(\reg,\nr,%_ASM_SP)) \
> > + \ftr
> > +.Lskip_rsb_\@:
> > +#endif
> > +.endm
>
> Looks unused to me. Was it ever gound to be used? If not:

It's for the outstanding RSB fill after context switch.

Thanks,

tglx