[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/PV: properly populate descriptor tables
On 26/10/15 14:43, David Vrabel wrote: > On 23/09/15 16:34, Jan Beulich wrote: >> Us extending the GDT limit past the Xen descriptors so far meant that >> guests (including user mode programs) accessing any descriptor table >> slot above the original OS'es limit but below the first Xen descriptor >> caused a #PF, converted to a #GP in our #PF handler. Which is quite >> different from the native behavior, where some of such accesses (LAR >> and LSL) don't fault. Mimic that behavior by mapping a blank page into >> unused slots. >> >> While not strictly required, treat the LDT the same for consistency. > This change causes a 32-bit userspace process running in a 32-bit PV > guest to segfault. > > The process is a Go program and it is using the modify_ldt() system call > (which is successful) but loading %gs with the new descriptor causes a > fault. Even a minimal (empty main()) go program faults. D'uh - its obvious now you point it out. By filling the shadow ldt slots as present, zero entries, we break their demand-faulting. We can't be safe to incorrect faults from LAR/LSL, *and* perform demand faulting of the LDT. Reverting hunk 2 for now is the best course of action. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |