[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86/traps: Correct overly-general assertion introduced in c/s d5c251c
>>> On 14.12.16 at 15:11, <andrew.cooper3@xxxxxxxxxx> wrote: > @@ -1831,10 +1827,17 @@ static int fixup_page_fault(unsigned long addr, > struct cpu_user_regs *regs) > return EXCRET_fault_fixed; > } > > - /* Logdirty guests call back into the paging code to update shadows. */ > - if ( paging_mode_log_dirty(d) ) > + /* > + * Logdirty guests call back into the paging code to update shadows. We > + * don't expect any other paging modes with PV guests. > + */ > + if ( guest_mode(regs) && paging_mode_enabled(d) ) As said in the (apparently to late) reply to v1 - I think guest_mode() is wrong to use here, as hypervisor accesses to guest buffers also need to be handled by paging_fault() when the guest is in log-dirty mode. Jan > { > - int ret = paging_fault(addr, regs); > + int ret; > + > + ASSERT(paging_mode_only_log_dirty(d)); > + > + ret = paging_fault(addr, regs); > if ( ret == EXCRET_fault_fixed ) > trace_trap_two_addr(TRC_PV_PAGING_FIXUP, regs->eip, addr); > return ret; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |