The assertion about guest paging mode must only apply to guest pagefaults. This ASSERT() accidentally also trips if Xen takes a pagefault when in HVM context, such as a copy_to_user() failure in the shadow pagetable code.
Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> --- CC: Jan Beulich <jbeul...@suse.com> --- xen/arch/x86/traps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c index 2d79ee0..fb41a2a 100644 --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -1798,7 +1798,7 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs) return 0; /* Logdirty mode is the only expected paging mode for PV guests. */ - if ( paging_mode_enabled(d) ) + if ( guest_mode(regs) && paging_mode_enabled(d) ) ASSERT(paging_mode_only_log_dirty(d)); if ( !(regs->error_code & PFEC_page_present) && -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel