On 01.12.2023 12:48, Julien Grall wrote:
> On 01/12/2023 11:37, Simone Ballarin wrote:
>> --- a/xen/arch/arm/include/asm/regs.h
>> +++ b/xen/arch/arm/include/asm/regs.h
>> @@ -48,7 +48,7 @@ static inline bool regs_mode_is_32bit(const struct
>> cpu_user_regs *regs)
>>
>> static inline bool guest_mode(const struct cpu_user_regs *r)
>> {
>> - unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r);
>> + unsigned long diff = (const uintptr_t)guest_cpu_user_regs() - (const
>> uintptr_t)(r);
>
> NIT: The const should not be necessary here. Am I correct?
>
>> --- a/xen/arch/x86/include/asm/regs.h
>> +++ b/xen/arch/x86/include/asm/regs.h
>> @@ -6,7 +6,8 @@
>>
>> #define guest_mode(r)
>> \
>> ({
>> \
>> - unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r);
>> \
>> + unsigned long diff = (const uintptr_t)guest_cpu_user_regs() -
>> \
>> + (const
>> uintptr_t(r)); \
>
> Was this compiled on x86? Shouldn't the last one be (const uintptr_t)(r))?
And again with the stray const-s dropped and with indentation adjusted.
Jan