[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/shadow: shadow_enable() cannot be called on oneself
domain_pause() ASSERT()s that d != current->domain, making this particular sanity check unconditionally false. The two callpaths leading here are from hvm_domain_initialise() (which absolutely can't be on oneself) and paging_domctl() (which checks and rejects domctls one oneself). Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Keir Fraser <keir@xxxxxxx> CC: Jan Beulich <JBeulich@xxxxxxxx> CC: Tim Deegan <tim@xxxxxxx> --- xen/arch/x86/mm/shadow/common.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c index a5eed28..57a1500 100644 --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -2929,8 +2929,7 @@ int shadow_enable(struct domain *d, u32 mode) domain_pause(d); /* Sanity check the arguments */ - if ( (d == current->domain) || - shadow_mode_enabled(d) || + if ( shadow_mode_enabled(d) || ((mode & PG_translate) && !(mode & PG_refcounts)) || ((mode & PG_external) && !(mode & PG_translate)) ) { -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |