On 16/07/18 10:57, Wei Liu wrote:
> On Fri, Jul 13, 2018 at 09:03:10PM +0100, Andrew Cooper wrote:
>> As with the serialise side, Xen's copy_from_guest API is used, with a
>> compatibility wrapper for the userspace build.
>>
>> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com>
>> Signed-off-by: Sergey Dyasli <sergey.dya...@citrix.com>
>> Signed-off-by: Roger Pau Monné <roger....@citrix.com>
>> ---
>> CC: Jan Beulich <jbeul...@suse.com>
>> CC: Wei Liu <wei.l...@citrix.com>
>> CC: Roger Pau Monné <roger....@citrix.com>
>> CC: Sergey Dyasli <sergey.dya...@citrix.com>
>> CC: Ian Jackson <ian.jack...@eu.citrix.com>
>>
>> v2:
>>  * Rewrite copy_from_buffer_offset() to avoid multiple evaluation of its
>>    arguments.
>>  * Expand boundary justifications.
>> ---
>>  xen/common/libx86/cpuid.c      | 94 
>> ++++++++++++++++++++++++++++++++++++++++++
>>  xen/common/libx86/private.h    | 14 +++++++
>>  xen/include/xen/libx86/cpuid.h | 11 +++++
>>  3 files changed, 119 insertions(+)
>>
>> diff --git a/xen/common/libx86/cpuid.c b/xen/common/libx86/cpuid.c
>> index cf7dbd3..73cd574 100644
>> --- a/xen/common/libx86/cpuid.c
>> +++ b/xen/common/libx86/cpuid.c
>> @@ -123,6 +123,100 @@ int x86_cpuid_copy_to_buffer(const struct cpuid_policy 
>> *p,
>>      return 0;
>>  }
>>  
>> +
>>  /*
>>   * Local variables:
>>   * mode: C
>> diff --git a/xen/common/libx86/private.h b/xen/common/libx86/private.h
>> index e874fb6..dc451d0 100644
>> --- a/xen/common/libx86/private.h
>> +++ b/xen/common/libx86/private.h
>> @@ -12,6 +12,7 @@
>>  #include <asm/msr-index.h>
>>  
>>  #define copy_to_buffer_offset copy_to_guest_offset
>> +#define copy_from_buffer_offset copy_from_guest_offset
>>  
>>  #else
>>  
>> @@ -44,6 +45,19 @@ static inline bool test_bit(unsigned int bit, const void 
>> *vaddr)
>>      0;                                                  \
>>  })
>>  
>> +/* memcpy(), but with copy_from_guest_offset()'s API. */
>> +#define copy_from_buffer_offset(dst, src, index, nr)    \
>> +({                                                      \
>> +    const typeof(*(dst)) *src_ = (src);                 \
> Same issue as previous patch here. Also enforcing dst_ and src_ are of
> the same type would be good.
>
> Otherwise:
>
> Reviewed-by: Wei Liu <wei.l...@citrix.com>

The use of dst *is* the enforcement of them being the same type.

~Andrew

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

Reply via email to