Re: [PATCH] KVM: x86: handle wrap around 32-bit address space

From: Paolo Bonzini
Date: Thu Apr 30 2020 - 08:45:35 EST


On 29/04/20 10:56, David Laight wrote:
>>>> + if (unlikely(((rip ^ orig_rip) >> 31) == 3) && !is_64_bit_mode(vcpu))
>> Isn't the more obvious:
>> if (((rip ^ orig_rip) & 1ull << 32) ...
>> equivalent?

This one would not (it would also detect carry on high memory addresses,
not just 0x7fffffff to 0x80000000)...

> Actually not even being clever, how about:
> if (orig_rip < (1ull << 32) && unlikely(rip >= (1ull << 32)) && ...

... but yes this one would be equivalent.

Paolo