From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Adalbert=20Laz=C4=83r?= Subject: [RFC PATCH v6 28/92] kvm: x86: consult the page tracking from kvm_mmu_get_page() and __direct_map() Date: Fri, 9 Aug 2019 18:59:43 +0300 Message-ID: <20190809160047.8319-29-alazar@bitdefender.com> References: <20190809160047.8319-1-alazar@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809160047.8319-1-alazar@bitdefender.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: kvm@vger.kernel.org Cc: Tamas K Lengyel , Weijiang Yang , Yu C , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Jan Kiszka , =?UTF-8?q?Samuel=20Laur=C3=A9n?= , Konrad Rzeszutek Wilk , Sean Christopherson , virtualization@lists.linux-foundation.org, =?UTF-8?q?Adalbert=20Laz=C4=83r?= , linux-mm@kvack.org, Patrick Colp , Mathieu Tarral , Stefan Hajnoczi , Paolo Bonzini , Zhang@mail.linuxfoundation.org, =?UTF-8?q?Mihai=20Don=C8=9Bu?= List-Id: virtualization@lists.linuxfoundation.org RnJvbTogTWloYWkgRG9uyJt1IDxtZG9udHVAYml0ZGVmZW5kZXIuY29tPgoKS1ZNIGRvZXNuJ3Qg bm9ybWFsbHkgbmVlZCB0byBrZWVwIHRyYWNrIHRoYXQgY2xvc2VseSB0byBwYWdlIGFjY2VzcyBi aXRzLApob3dldmVyIGZvciB0aGUgaW50cm9zcGVjdGlvbiBzdWJzeXN0ZW0gdGhpcyBpcyBlc3Nl bnRpYWwuCgpTdWdnZXN0ZWQtYnk6IFBhb2xvIEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+ Ckxpbms6IGh0dHBzOi8vbWFyYy5pbmZvLz9sPWt2bSZtPTE0OTgwNDk4NzQxNzEzMSZ3PTIKQ0M6 IFNlYW4gQ2hyaXN0b3BoZXJzb24gPHNlYW4uai5jaHJpc3RvcGhlcnNvbkBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IE1paGFpIERvbsibdSA8bWRvbnR1QGJpdGRlZmVuZGVyLmNvbT4KU2lnbmVk LW9mZi1ieTogQWRhbGJlcnQgTGF6xINyIDxhbGF6YXJAYml0ZGVmZW5kZXIuY29tPgotLS0KIGFy Y2gveDg2L2t2bS9tbXUuYyB8IDIxICsrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5n ZWQsIDE5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94 ODYva3ZtL21tdS5jIGIvYXJjaC94ODYva3ZtL21tdS5jCmluZGV4IDllYWY2Y2M3NzZhOS4uODEw ZTNlNWJkNTc1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rdm0vbW11LmMKKysrIGIvYXJjaC94ODYv a3ZtL21tdS5jCkBAIC0yNDkxLDYgKzI0OTEsMjAgQEAgc3RhdGljIHZvaWQgY2xlYXJfc3Bfd3Jp dGVfZmxvb2RpbmdfY291bnQodTY0ICpzcHRlKQogCV9fY2xlYXJfc3Bfd3JpdGVfZmxvb2Rpbmdf Y291bnQoc3ApOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGt2bV9tbXVfcGFnZV90cmFja19h Y2Moc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBnZm5fdCBnZm4sCisJCQkJCSAgIHVuc2lnbmVkIGlu dCBhY2MpCit7CisJaWYgKGt2bV9wYWdlX3RyYWNrX2lzX2FjdGl2ZSh2Y3B1LCBnZm4sIEtWTV9Q QUdFX1RSQUNLX1BSRVJFQUQpKQorCQlhY2MgJj0gfkFDQ19VU0VSX01BU0s7CisJaWYgKGt2bV9w YWdlX3RyYWNrX2lzX2FjdGl2ZSh2Y3B1LCBnZm4sIEtWTV9QQUdFX1RSQUNLX1BSRVdSSVRFKSB8 fAorCSAgICBrdm1fcGFnZV90cmFja19pc19hY3RpdmUodmNwdSwgZ2ZuLCBLVk1fUEFHRV9UUkFD S19XUklURSkpCisJCWFjYyAmPSB+QUNDX1dSSVRFX01BU0s7CisJaWYgKGt2bV9wYWdlX3RyYWNr X2lzX2FjdGl2ZSh2Y3B1LCBnZm4sIEtWTV9QQUdFX1RSQUNLX1BSRUVYRUMpKQorCQlhY2MgJj0g fkFDQ19FWEVDX01BU0s7CisKKwlyZXR1cm4gYWNjOworfQorCiBzdGF0aWMgc3RydWN0IGt2bV9t bXVfcGFnZSAqa3ZtX21tdV9nZXRfcGFnZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCiAJCQkJCSAg ICAgZ2ZuX3QgZ2ZuLAogCQkJCQkgICAgIGd2YV90IGdhZGRyLApAQCAtMjUxMSw3ICsyNTI1LDcg QEAgc3RhdGljIHN0cnVjdCBrdm1fbW11X3BhZ2UgKmt2bV9tbXVfZ2V0X3BhZ2Uoc3RydWN0IGt2 bV92Y3B1ICp2Y3B1LAogCXJvbGUuZGlyZWN0ID0gZGlyZWN0OwogCWlmIChyb2xlLmRpcmVjdCkK IAkJcm9sZS5jcjRfcGFlID0gMDsKLQlyb2xlLmFjY2VzcyA9IGFjY2VzczsKKwlyb2xlLmFjY2Vz cyA9IGt2bV9tbXVfcGFnZV90cmFja19hY2ModmNwdSwgZ2ZuLCBhY2Nlc3MpOwogCWlmICghdmNw dS0+YXJjaC5tbXUtPmRpcmVjdF9tYXAKIAkgICAgJiYgdmNwdS0+YXJjaC5tbXUtPnJvb3RfbGV2 ZWwgPD0gUFQzMl9ST09UX0xFVkVMKSB7CiAJCXF1YWRyYW50ID0gZ2FkZHIgPj4gKFBBR0VfU0hJ RlQgKyAoUFQ2NF9QVF9CSVRTICogbGV2ZWwpKTsKQEAgLTMyMzQsNyArMzI0OCwxMCBAQCBzdGF0 aWMgaW50IF9fZGlyZWN0X21hcChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIGludCB3cml0ZSwgaW50 IG1hcF93cml0YWJsZSwKIAogCWZvcl9lYWNoX3NoYWRvd19lbnRyeSh2Y3B1LCAodTY0KWdmbiA8 PCBQQUdFX1NISUZULCBpdGVyYXRvcikgewogCQlpZiAoaXRlcmF0b3IubGV2ZWwgPT0gbGV2ZWwp IHsKLQkJCWVtdWxhdGUgPSBtbXVfc2V0X3NwdGUodmNwdSwgaXRlcmF0b3Iuc3B0ZXAsIEFDQ19B TEwsCisJCQl1bnNpZ25lZCBpbnQgYWNjID0ga3ZtX21tdV9wYWdlX3RyYWNrX2FjYyh2Y3B1LCBn Zm4sCisJCQkJCQkJCSAgQUNDX0FMTCk7CisKKwkJCWVtdWxhdGUgPSBtbXVfc2V0X3NwdGUodmNw dSwgaXRlcmF0b3Iuc3B0ZXAsIGFjYywKIAkJCQkJICAgICAgIHdyaXRlLCBsZXZlbCwgZ2ZuLCBw Zm4sIHByZWZhdWx0LAogCQkJCQkgICAgICAgbWFwX3dyaXRhYmxlKTsKIAkJCWRpcmVjdF9wdGVf cHJlZmV0Y2godmNwdSwgaXRlcmF0b3Iuc3B0ZXApOwpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXphdGlvbiBtYWlsaW5nIGxpc3QKVmlydHVh bGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5vcmcKaHR0cHM6Ly9saXN0cy5saW51eGZv dW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmlydHVhbGl6YXRpb24=