Messages in this thread | | | Date | Fri, 27 Mar 2009 09:28:12 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 3/5] lguest: avoid accidental recycling of pgdir pages |
| |
Rusty Russell wrote: >> You can't just do this in tlb flush? >> > > I don't think so. The problem is that lguest tracks 4 toplevels, using random > replacement. This cache is indexed by cr3 value. > > Lguest assumes it's told about all pte removals or changes, but simple > additions get faulted in. If a pgdir page gets reused we'll potentially have > stale values from its previous life as a pgdir, no? >
Yes, but when you get a tlb flush hypercall, couldn't you also look up the corresponding shadow pte and zap it so that it will get repopulated next time around? And a full tlb flush would just zap the entire shadow. After all, the shadow pagetable is just a glorified software-managed tlb...
J
| |