[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86: adjust reserved bit page fault handling



At 08:45 +0000 on 01 Feb (1201855522), Jan Beulich wrote:
> @@ -1034,8 +1047,10 @@ static int fixup_page_fault(unsigned lon
>      struct vcpu   *v = current;
>      struct domain *d = v->domain;
>  
> -    /* No fixups in interrupt context or when interrupts are disabled. */
> -    if ( in_irq() || !(regs->eflags & X86_EFLAGS_IF) )
> +    /* No fixups in interrupt context, when interrupts are disabled, or
> +     * when a reserved bit was found to be set. */
> +    if ( in_irq() || !(regs->eflags & X86_EFLAGS_IF) ||
> +         (regs->error_code & PFEC_reserved_bit) )
>          return 0;
>  
>      if ( unlikely(IN_HYPERVISOR_RANGE(addr)) )

The shadow pagetable code deliberately introduces invalid pagetable
entries as part of its fast-path treatment of MMIO and not-present
entries in the guest tables, so paging_fault needs to be called for
PFEC_reserved_bit faults.

Cheers,

Tim.

-- 
Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Principal Software Engineer, Citrix Systems (R&D) Ltd.
[Company #02300071, SL9 0DZ, UK.]

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.