
patchbot at xen
Mar 15, 2012, 9:33 PM
Views: 55
Permalink
|
|
[xen-unstable] x86/mm/paging: Prevent the guest from faulting on the same gfn when dying
|
|
# HG changeset patch # User Tim Deegan <tim [at] xen> # Date 1331809964 0 # Node ID fa7d1e7a5fae658686f041c080b45600be797744 # Parent 1bff003ba64bd8c17eed61baebd689951cef8844 x86/mm/paging: Prevent the guest from faulting on the same gfn when dying A crashing guest due to paging may hit an "endless" loop faulting repeatedly on the current paged-out gfn, until the toolstack comes around to killing the domain. Unfortunately domain_crash at this point may not pause the vcpu due to the shutting_down flag, so we pause it explicitly when detecting the condition. Signed-off-by: Andres Lagar-Cavilla <andres [at] lagarcavilla> Acked-by: Tim Deegan <tim [at] xen> Committed-by: Tim Deegan <tim [at] xen> --- diff -r 1bff003ba64b -r fa7d1e7a5fae xen/arch/x86/mm/p2m.c --- a/xen/arch/x86/mm/p2m.c Thu Mar 15 11:12:44 2012 +0000 +++ b/xen/arch/x86/mm/p2m.c Thu Mar 15 11:12:44 2012 +0000 @@ -988,6 +988,9 @@ { gdprintk(XENLOG_ERR, "Domain %hu paging gfn %lx yet no ring " "in place\n", d->domain_id, gfn); + /* Prevent the vcpu from faulting repeatedly on the same gfn */ + if ( v->domain == d ) + vcpu_pause_nosync(v); domain_crash(d); return; } _______________________________________________ Xen-changelog mailing list Xen-changelog [at] lists http://lists.xensource.com/xen-changelog
|