[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v6.5 23/26] x86/entry: Clobber the Return Stack Buffer on entry to Xen
>>> On 04.01.18 at 01:15, <andrew.cooper3@xxxxxxxxxx> wrote: > --- a/docs/misc/xen-command-line.markdown > +++ b/docs/misc/xen-command-line.markdown > @@ -246,7 +246,7 @@ enough. Setting this to a high value may cause boot > failure, particularly if > the NMI watchdog is also enabled. > > ### bti (x86) > -> `= List of [ thunk=retpoline|lfence|plain, ibrs=<bool> ]` > +> `= List of [ thunk=retpoline|lfence|plain, ibrs=<bool>, > rsb_{vmexit,native}=bool ]` <bool> > --- a/xen/arch/x86/spec_ctrl.c > +++ b/xen/arch/x86/spec_ctrl.c > @@ -33,6 +33,7 @@ enum ind_thunk { > THUNK_JMP, > } opt_thunk __initdata = THUNK_DEFAULT; > int opt_ibrs __initdata = -1; > +int opt_rsb_native __initdata = -1, opt_rsb_vmexit __initdata = -1; static > --- a/xen/include/asm-x86/nops.h > +++ b/xen/include/asm-x86/nops.h > @@ -67,9 +67,11 @@ > > #define ASM_NOP22 ASM_NOP8 ASM_NOP8 ASM_NOP6 > #define ASM_NOP26 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP2 > +#define ASM_NOP27 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP3 > #define ASM_NOP32 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP8 > #define ASM_NOP33 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP7 ASM_NOP2 > #define ASM_NOP39 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP7 > +#define ASM_NOP40 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP8 ASM_NOP8 See how this is getting more and more ugly? > @@ -178,6 +209,11 @@ > > /* Use after a VMEXIT from an HVM guest. */ > #define SPEC_CTRL_ENTRY_FROM_VMEXIT \ > + ALTERNATIVE_2 __stringify(ASM_NOP27), \ > + "DO_OVERWRITE_RSB maybexen=0 ss=1", \ > + X86_FEATURE_RSB_VMEXIT_SS, \ > + "DO_OVERWRITE_RSB maybexen=0 ss=0", \ > + X86_FEATURE_RSB_VMEXIT; \ > ALTERNATIVE_2 __stringify(ASM_NOP32), \ > __stringify(DO_SPEC_CTRL_ENTRY_FROM_VMEXIT \ > ibrs_val=SPEC_CTRL_IBRS), \ The use of __stringify() wants to become consistent: Either you never use plain quoting, or you only ever use __stringify() when plain quoting wouldn't yield the intended effect (of, in particular, macro expansion before stringification). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |