On 2/15/19 09:55, Jan Beulich wrote:
>>>> On 15.02.19 at 09:05, <nmant...@amazon.de> wrote:
>> On 2/12/19 15:14, Jan Beulich wrote:
>>>>>> On 12.02.19 at 15:05, <nmant...@amazon.de> wrote:
>>>> On 2/12/19 14:25, Jan Beulich wrote:
>>>>>>>> On 08.02.19 at 14:44, <nmant...@amazon.de> wrote:
>>>>>> @@ -4104,6 +4108,12 @@ static int hvmop_set_param(
>>>>>>      if ( a.index >= HVM_NR_PARAMS )
>>>>>>          return -EINVAL;
>>>>>>  
>>>>>> +    /*
>>>>>> +     * Make sure the guest controlled value a.index is bounded even 
>>>>>> during
>>>>>> +     * speculative execution.
>>>>>> +     */
>>>>>> +    a.index = array_index_nospec(a.index, HVM_NR_PARAMS);
>>>>>> +
>>>>>>      d = rcu_lock_domain_by_any_id(a.domid);
>>>>>>      if ( d == NULL )
>>>>>>          return -ESRCH;
>>>>>> @@ -4370,6 +4380,12 @@ static int hvmop_get_param(
>>>>>>      if ( a.index >= HVM_NR_PARAMS )
>>>>>>          return -EINVAL;
>>>>>>  
>>>>>> +    /*
>>>>>> +     * Make sure the guest controlled value a.index is bounded even 
>>>>>> during
>>>>>> +     * speculative execution.
>>>>>> +     */
>>>>>> +    a.index = array_index_nospec(a.index, HVM_NR_PARAMS);
>>>>> ... the usefulness of these two. To make forward progress it may
>>>>> be worthwhile to split off these two changes into a separate patch.
>>>>> If you're fine with this, I could strip these two before committing,
>>>>> in which case the remaining change is
>>>>> Reviewed-by: Jan Beulich <jbeul...@suse.com>
>>>> Taking apart the commit is fine with me. I will submit a follow up
>>>> change that does not update the values but fixes the reads.
>>> As pointed out during the v5 discussion, I'm unconvinced that if
>>> you do so the compiler can't re-introduce the issue via CSE. I'd
>>> really like a reliable solution to be determined first.
>> I cannot give a guarantee what future compilers might do. Furthermore, I
>> do not want to wait until all/most compilers ship with such a
>> controllable guarantee.
> Guarantee? Future compilers are (hopefully) going to get better at
> optimizing, and hence are (again hopefully) going to find more
> opportunities for CSE. So the problem is going to get worse rather
> than better, and the changes you're proposing to re-instate are
> therefore more like false promises.

I do not want to dive into compilers future here. I would like to fix
the issue for todays compilers now and not wait until compilers evolved
one way or another. For this patch, the relevant information is whether
it should go in like this, or whether you want me to protect all the
reads instead. Is there more data I shall provide to help make this
decision?

Best,
Norbert

>
> Jan
>
>




Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrer: Christian Schlaeger, Ralf Herbrich
Ust-ID: DE 289 237 879
Eingetragen am Amtsgericht Charlottenburg HRB 149173 B

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

Reply via email to