On Fri, Apr 8, 2016 at 10:12 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > > > 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. I think we are stuck with __KERNEL_DS: SYSCALL uses it. Unless we start fiddling with conforming code segments (ugh), I don't think there's a valid GDT layout that doesn't have two flat data segments. Oh well, chalk it up to historical accident. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html