Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
xen.6649
5a21a77e-x86-pv-construct-d0v0s-GDT-properly.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5a21a77e-x86-pv-construct-d0v0s-GDT-properly.patch of Package xen.6649
# Commit 08f27f4468eedbeccaac9fdda4ef732247efd74e # Date 2017-12-01 19:03:26 +0000 # Author Andrew Cooper <andrew.cooper3@citrix.com> # Committer Andrew Cooper <andrew.cooper3@citrix.com> xen/pv: Construct d0v0's GDT properly c/s cf6d39f8199 "x86/PV: properly populate descriptor tables" changed the GDT to reference zero_page for intermediate frames between the guest and Xen frames. Because dom0_construct_pv() doesn't call arch_set_info_guest(), some bits of initialisation are missed, including the pv_destroy_gdt() which initially fills the references to zero_page. In practice, this means there is a window between starting and the first call to HYPERCALL_set_gdt() were lar/lsl/verr/verw suffer non-architectural behaviour. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/x86/domain_build.c +++ b/xen/arch/x86/domain_build.c @@ -1512,6 +1512,13 @@ int __init construct_dom0( regs->esi = vstartinfo_start; regs->eflags = X86_EFLAGS_IF; + /* + * We don't call arch_set_info_guest(), so some initialisation needs doing + * by hand: + * - Reset the GDT to reference zero_page + */ + destroy_gdt(v); + #ifdef CONFIG_SHADOW_PAGING if ( opt_dom0_shadow ) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor