[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 5/8] x86/shadow: don't open-code shadow_remove_all_shadows()
Let's use the existing inline wrapper instead of repeating respective commentary at every site. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -389,7 +389,7 @@ static int oos_remove_write_access(struc * the page. If that doesn't work either, the guest is granting * his pagetables and must be killed after all. * This will flush the tlb, so we can return with no worries. */ - sh_remove_shadows(d, gmfn, 0 /* Be thorough */, 1 /* Must succeed */); + shadow_remove_all_shadows(d, gmfn); return 1; } --- a/xen/arch/x86/mm/shadow/hvm.c +++ b/xen/arch/x86/mm/shadow/hvm.c @@ -783,7 +783,7 @@ sh_remove_all_shadows_and_parents(struct /* Even harsher: this is a HVM page that we thing is no longer a pagetable. * Unshadow it, and recursively unshadow pages that reference it. */ { - sh_remove_shadows(d, gmfn, 0, 1); + shadow_remove_all_shadows(d, gmfn); /* XXX TODO: * Rework this hashtable walker to return a linked-list of all * the shadows it modified, then do breadth-first recursion --- a/xen/arch/x86/mm/shadow/multi.c +++ b/xen/arch/x86/mm/shadow/multi.c @@ -2632,7 +2632,7 @@ static int cf_check sh_page_fault( SHADOW_PRINTK("user-mode fault to PT, unshadowing mfn %#lx\n", mfn_x(gmfn)); perfc_incr(shadow_fault_emulate_failed); - sh_remove_shadows(d, gmfn, 0 /* thorough */, 1 /* must succeed */); + shadow_remove_all_shadows(d, gmfn); trace_shadow_emulate_other(TRC_SHADOW_EMULATE_UNSHADOW_USER, va, gfn); goto done; @@ -2718,7 +2718,7 @@ static int cf_check sh_page_fault( v->arch.paging.last_write_emul_ok = 0; } #endif - sh_remove_shadows(d, gmfn, 0 /* thorough */, 1 /* must succeed */); + shadow_remove_all_shadows(d, gmfn); trace_shadow_emulate_other(TRC_SHADOW_EMULATE_UNSHADOW_EVTINJ, va, gfn); return EXCRET_fault_fixed;
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |