Avi Kivity wrote: >>> /* >>> * Verify that the gpte in the page we've just write >>> * protected is still there. >>> */ >>> if (!FNAME(validate_indirect_spte)(vcpu, sptep, sp, >>> - gw, level - 1)) { >>> - kvm_release_pfn_clean(pfn); >>> - return NULL; >>> - } >>> + gw, level - 1)) >>> + goto out_error; >>> >>> >> It missed the last mapping check? i only see validate_indirect_spte in >> 'level> gw->level' loop. >> > > But we check 'level - 1' here, so the final level is included. It is > the top level that is not checked in the loop (we check it separately, > above). > Yeah, you are right! -- 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