Re: [Xen-devel] Does __KERNEL_DS serve a purpose?

From: Paolo Bonzini
Date: Fri Apr 08 2016 - 13:12:43 EST




On 08/04/2016 18:00, Andy Lutomirski wrote:
> But %ss can be loaded with 0 on 64-bit kernels. (I assume that
> loading 0 into %ss sets SS.DPL to 0 if done at CPL0, but I'm vague on
> this, since it only really matters to hypervisor code AFAIK.)

It's even simpler, unless CPL=0 SS cannot be loaded with 0 while in a
64-bit code segment (SS can never be loaded with 0 if you're not in a
64-bit code segment).

Thus indeed SS=0 implies SS.DPL=0 on 64-bit kernels.

Paolo

> 32-bit kernels need __KERNEL_DS, I think.