[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [xen-unstable test] 56456: regressions - FAIL
At 12:50 +0200 on 18 May (1431953450), Roger Pau Monné wrote: > El 18/05/15 a les 12.17, Tim Deegan ha escrit: > > At 09:34 +0100 on 18 May (1431941676), Jan Beulich wrote: > >>>>> On 16.05.15 at 13:45, <roger.pau@xxxxxxxxxx> wrote: > >>> El 16/05/15 a les 10.51, osstest service user ha escrit: > >>>> flight 56456 xen-unstable real [real] > >>>> http://logs.test-lab.xenproject.org/osstest/logs/56456/ > >>>> > >>>> Regressions :-( > >>> > >>> This is my fault, paging_gva_to_gfn cannot be used to translate a PV > >>> guest VA to a GFN. The patch above restores the previous path for PV > >>> callers. > >> > >> While Tim would have the final say, I certainly would prefer to revert > >> the offending patch and then apply a correct new version in its stead > >> in this case (where the fix is not a simple, few lines change). > > > > I would be OK with a follow-up fix here, but I'm not convinced that > > this is it. > > > > In particular, paging_mode_enabled() should be true for any PV domain > > that's in log-dirty mode, so presumably the failure is only for lgd > > ops on VMs that don't have lgd enabled. So maybe we can either: > > - return an error for that case (but we'd want to understand how we > > got there first); or > > The error is caused because we are trying to use paging_gva_to_gfn > against a Dom0 VA, which is a PV guest. Oh right; I had got confused. > > - have map_dirty_bitmap() DTRT, with something like access_ok() + > > a linear-pagetable lookup to find the frame. > > That was my first intention, but AFAICT we have no function in tree to > resolve a PV guest VA into a GFN/MFN. The closest thing I could find was > using guest_walk_tables + guest_walk_to_gfn in order to obtain the gfn. > Should I send a patch to introduce a pv_gva_to_gfn function based on that? PV guest addresses need a bit more care: we need to at least call access_ok() on them to make sure we're not going to write to a Xen address. For the translation itself, we could use guest_walk_tables(), though I wouldn't be surprised if that only works on paging_mode_enabled() guests too. Worth a try though. Otherwise, guest_get_eff_l1e() will get the gfn but doesn't include a check for write permissions, so might introduce an in-guest issue. Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |