On Fri, Apr 8, 2016 at 1:01 AM, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote: > On 08/04/2016 01:24, Andy Lutomirski wrote: >> I can't see any reason that we need the __KERNEL_DS segment at all -- >> I think that everything that uses __KERNEL_DS could use __USER_DS >> instead. Am I missing anything? This has been bugging me for a >> while. >> >> I mulled over this a bit when trying to understand the sysret_ss_attrs >> bug and then forgot about it. > > Linux doesn't have a separate __KERNEL_SS. For the plain data segments, > the dpl is not interesting. > > However, %ss is also loaded with __KERNEL_DS, and %ss.dpl is somewhat > important. 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.) 32-bit kernels need __KERNEL_DS, I think. --Andy -- 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