[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH SpectreV1+L1TF v4 03/11] config: introduce L1TF_LFENCE option



>>> On 23.01.19 at 14:44, <julien.grall@xxxxxxx> wrote:
> On 23/01/2019 13:39, Jan Beulich wrote:
>>>>> On 23.01.19 at 14:24, <julien.grall@xxxxxxx> wrote:
>>> On 23/01/2019 11:51, Norbert Manthey wrote:
>>>> --- a/xen/include/xen/nospec.h
>>>> +++ b/xen/include/xen/nospec.h
>>>> @@ -68,10 +68,18 @@ static inline bool lfence_true(void) { return true; }
>>>>    #endif
>>>>    
>>>>    /*
>>>> - * protect evaluation of conditional with respect to speculation
>>>> + * allow to protect evaluation of conditional with respect to speculation 
>>>> on x86
>>>>     */
>>>> -#define evaluate_nospec(condition)                                      \
>>>> +#if defined(CONFIG_L1TF_LFENCE_NONE) || !defined(CONFIG_X86)
>>>> +#define evaluate_nospec(condition) (condition)
>>>> +#elif defined(CONFIG_L1TF_LFENCE_BOTH)
>>>> +#define evaluate_nospec(condition)                                        
>>>>  \
>>>>        (((condition) && lfence_true()) || !lfence_true())
>>>> +#elif defined(CONFIG_L1TF_LFENCE_TRUE)
>>>> +#define evaluate_nospec(condition) ((condition) && lfence_true())
>>>> +#elif defined(CONFIG_L1TF_LFENCE_INTERMEDIATE)
>>>> +#define evaluate_nospec(condition) ({ bool res = (condition); rmb(); res; 
>>>> })
>>> +#endif
>>>
>>> None of the configs are defined on Arm, so can this be moved in arch-x86?
>> 
>> To be honest I'd like to avoid introducing asm/nospec.h for the time
>> being.
> 
> How about adding them in system.h as we did for array_index_mask_nospec?

To tell you the truth, that's where Norbert had it originally.
I think that's not the right place though (also for
array_index_mask_nospec()). But I'll listen to a majority
thinking differently, at least as far as what is currently
lfence_true() goes. evaluate_nospec(), otoh, belongs where
it is now, I think.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.