Re: [PATCH, RFC] x86-64: properly handle FPU code/dataselectors

From: Jan Beulich
Date: Thu Oct 17 2013 - 05:33:41 EST


>>> On 17.10.13 at 11:27, Gleb Natapov <gleb@xxxxxxxxxx> wrote:
> On Wed, Oct 16, 2013 at 05:13:40PM +0100, Jan Beulich wrote:
>> > It preserves *less* state, because the upper 32 bits of rip are now
>> > corrupted. Any 64-bit application that actually looks at the FP
>> > rip/rdp fields now get the WRONG VALUES.
>>
>> But again - this isn't being done for ordinary 64-bit applications,
>> this is only happening for KVM guests. And there not being a
>> protocol for telling the caller whether a certain context hold
>> 64-bit offsets or selector/offset pairs shouldn't be a reason to
>> think of a solution to the problem.
>>
> KVM knows what mode guest vcpu is in. is_long_mode(vcpu) will tell you
> if it is in long mode or not. No need to guess it.

So what if that 64-bit guest OS is running a 32-bit app? You can
only positively know the _current_ guest word size when the
guest is not in long mode.

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/