Prev: cpumask: make task_struct.cpus_allowed a cpumask_var_t
Next: WARNING: at fs/fs-writeback.c:1127 __mark_inode_dirty
From: Avi Kivity on 28 Jun 2010 05:50 On 06/25/2010 03:05 PM, Xiao Guangrong wrote: > In no-direct mapping, we mark sp is 'direct' when we mapping the > guest's larger page, but its access is encoded form upper page-struct > entire not include the last mapping, it will cause access conflict. > > For example, have this mapping: > [W] > / PDE1 -> |---| > P[W] | | LPA > \ PDE2 -> |---| > [R] > > P have two children, PDE1 and PDE2, both PDE1 and PDE2 mapping the > same lage page(LPA). The P's access is WR, PDE1's access is WR, > PDE2's access is RO(just consider read-write permissions here) > > When guest access PDE1, we will create a direct sp for LPA, the sp's > access is from P, is W, then we will mark the ptes is W in this sp. > > Then, guest access PDE2, we will find LPA's shadow page, is the same as > PDE's, and mark the ptes is RO. > > So, if guest access PDE1, the incorrect #PF is occured. > > Fixed by encode the last mapping access into direct shadow page > > And, it also cleanup the code that directly get the last level's dirty flag > > Looks good, but please split the cleanup from the fix (we'll want to backport the fix but not the cleanup). -- error compiling committee.c: too many arguments to function -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Xiao Guangrong on 28 Jun 2010 06:00
Avi Kivity wrote: >> > > Looks good, but please split the cleanup from the fix (we'll want to > backport the fix but not the cleanup). > OK, will do it -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |