On 09/12/2012 10:29 PM, Avi Kivity wrote: > gpte_access() computes the access permissions of a guest pte and also > write-protects clean gptes. This is wrong when we are servicing a > write fault (since we'll be setting the dirty bit momentarily) but > correct when instantiating a speculative spte, or when servicing a > read fault (since we'll want to trap a following write in order to > set the dirty bit). > > It doesn't seem to hurt in practice, but in order to make the code In current code, it seems that we will get two #PF if guest write memory through clean pte: one mark the dirty bit, then fault again, set W bit. > readable, push the write protection out of gpte_access() and into > a new protect_clean_gpte() which is called explicitly when needed. Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html