References: bnc#656245 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -1223,7 +1223,7 @@ static int fixup_page_fault(unsigned lon if ( unlikely(IN_HYPERVISOR_RANGE(addr)) ) { - if ( !(regs->error_code & PFEC_reserved_bit) && + if ( !(regs->error_code & (PFEC_user_mode | PFEC_reserved_bit)) && (addr >= GDT_LDT_VIRT_START) && (addr < GDT_LDT_VIRT_END) ) return handle_gdt_ldt_mapping_fault( addr - GDT_LDT_VIRT_START, regs);