From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.7] xen/nested_p2m: Don't walk EPT tables with a regular PT walker Date: Fri, 13 May 2016 14:33:12 +0100 Message-ID: <1463146392-14773-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Kevin Tian , Wei Liu , Jan Beulich , George Dunlap , Andrew Cooper , Tim Deegan , Jun Nakajima List-Id: xen-devel@lists.xenproject.org aG9zdG1vZGUtPnAybV9nYV90b19nZm4oKSBpcyBhIHBsYWluIFBUIHdhbGtlciwgYW5kIGlzIG5v dCBhcHByb3ByaWF0ZSBmb3IgYQpnZW5lcmFsIEwxIHAybSB3YWxrLiAgSXQgaXMgZmluZSBmb3Ig QU1EIGFzIE5QVCBzaGFyZSB0aGUgc2FtZSBmb3JtYXQgYXMKbm9ybWFsIHBhZ2V0YWJsZXMuICBG b3IgSW50ZWwgRVBUIGhvd2V2ZXIsIGl0IGlzIHdyb25nLgoKVGhlIHRyYW5zbGF0aW9uIGVuZHMg dXAgY29ycmVjdCAoYXMgdGhlIGZvcm1hdHMgYXJlIHN1ZmZpY2llbnRseSBzaW1pbGFyKSwgYnV0 CnRoZSBjb250cm9sIGJpdHMgaW4gbG93ZXIgMTIgYml0cyBkaWZmZXIgaW4gbWVhbmluZy4gIEEg cGxhaW4gUFQgd2Fsa2VyIHNldHMKQS9EIGJpdHMgKGJpdHMgNSBhbmQgNikgYXMgaXQgd2Fsa3Ms IGJ1dCBpbiBFUFQgdGFibGVzLCB0aGVzZSBhcmUgdGhlIElQQVQgYW5kCnRvcCBiaXQgb2YgRU1U IChjYWNoaW5nIHR5cGUpLiAgVGhpcyBpbiB0dXJuIGNhdXNlcyBwcm9ibGVtIHdoZW4gdGhlIEVQ VAp0YWJsZXMgYXJlIHN1YnNlcXVlbnRseSB1c2VkLgoKUmVwbGFjZSBob3N0bW9kZS0+cDJtX2dh X3RvX2dmbigpIHdpdGggbmVzdGVkaGFwX3dhbGtfTDFfcDJtKCkgaW4KcGFnaW5nX2d2YV90b19n Zm4oKSwgd2hpY2ggaXMgdGhlIGNvcnJlY3QgZnVuY3Rpb24gZm9yIHRoZSB0YXNrLiAgVGhpcwpp bnZvbHZlcyBtYWtpbmcgbmVzdGVkaGFwX3dhbGtfTDFfcDJtKCkgbm9uLXN0YXRpYywgYW5kIGFk ZGluZwp2bXhfdm1jc19lbnRlci9leGl0KCkgcGFpcnMgdG8gbnZteF9oYXBfd2Fsa19MMV9wMm0o KSBhcyBpdCBpcyBub3cgcmVhY2hhYmxlCmZyb20gY29udGV4dHMgb3RoZXIgdGhhbiB2ID09IGN1 cnJlbnQuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IEdlb3Jn ZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRp bUB4ZW4ub3JnPgpDQzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgpDQzog S2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBj aXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYyAgICAgICAgIHwgIDQg KysrKwogeGVuL2FyY2gveDg2L21tL2hhcC9uZXN0ZWRfaGFwLmMgICAgfCAgMiArLQogeGVuL2Fy Y2gveDg2L21tL3AybS5jICAgICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKy0tLS0tCiB4 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9uZXN0ZWRodm0uaCB8ICA0ICsrKysKIDQgZmlsZXMgY2hh bmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvaHZtL3ZteC92dm14LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKaW5k ZXggMzVmMzY4Ny4uZmFhOGI2OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdnZt eC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYwpAQCAtMjAzNiw2ICsyMDM2LDgg QEAgbnZteF9oYXBfd2Fsa19MMV9wMm0oc3RydWN0IHZjcHUgKnYsIHBhZGRyX3QgTDJfZ3BhLCBw YWRkcl90ICpMMV9ncGEsCiAgICAgdWludDMyX3Qgcnd4X3JpZ2h0cyA9IChhY2Nlc3NfeCA8PCAy KSB8IChhY2Nlc3NfdyA8PCAxKSB8IGFjY2Vzc19yOwogICAgIHN0cnVjdCBuZXN0ZWR2bXggKm52 bXggPSAmdmNwdV8yX252bXgodik7CiAKKyAgICB2bXhfdm1jc19lbnRlcih2KTsKKwogICAgIF9f dm1yZWFkKEVYSVRfUVVBTElGSUNBVElPTiwgJmV4aXRfcXVhbCk7CiAgICAgcmMgPSBuZXB0X3Ry YW5zbGF0ZV9sMmdhKHYsIEwyX2dwYSwgcGFnZV9vcmRlciwgcnd4X3JpZ2h0cywgJmdmbiwgcDJt X2FjYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmV4aXRfcXVhbCwgJmV4aXRfcmVh c29uKTsKQEAgLTIwNjAsNiArMjA2Miw4IEBAIG52bXhfaGFwX3dhbGtfTDFfcDJtKHN0cnVjdCB2 Y3B1ICp2LCBwYWRkcl90IEwyX2dwYSwgcGFkZHJfdCAqTDFfZ3BhLAogICAgICAgICBicmVhazsK ICAgICB9CiAKKyAgICB2bXhfdm1jc19leGl0KHYpOworCiAgICAgcmV0dXJuIHJjOwogfQogCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vaGFwL25lc3RlZF9oYXAuYyBiL3hlbi9hcmNoL3g4 Ni9tbS9oYXAvbmVzdGVkX2hhcC5jCmluZGV4IDljZWU1YTAuLmQ0MWJiMDkgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9oYXAvbmVzdGVkX2hhcC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9o YXAvbmVzdGVkX2hhcC5jCkBAIC0xNDEsNyArMTQxLDcgQEAgbmVzdGVkaGFwX2ZpeF9wMm0oc3Ry dWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgKiB3YWxrIGlzIHN1Y2Nlc3Nm dWwsIHRoZSB0cmFuc2xhdGVkIHZhbHVlIGlzIHJldHVybmVkIGluCiAgKiBMMV9ncGEuIFRoZSBy ZXN1bHQgdmFsdWUgdGVsbHMgd2hhdCB0byBkbyBuZXh0LgogICovCi1zdGF0aWMgaW50CitpbnQK IG5lc3RlZGhhcF93YWxrX0wxX3AybShzdHJ1Y3QgdmNwdSAqdiwgcGFkZHJfdCBMMl9ncGEsIHBh ZGRyX3QgKkwxX2dwYSwKICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vf b3JkZXIsIHVpbnQ4X3QgKnAybV9hY2MsCiAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGFj Y2Vzc19yLCBib29sX3QgYWNjZXNzX3csIGJvb2xfdCBhY2Nlc3NfeCkKZGlmZiAtLWdpdCBhL3hl bi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwppbmRleCA5NGVhYmY2 Li5kZTU3OTFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMKKysrIGIveGVuL2Fy Y2gveDg2L21tL3AybS5jCkBAIC0yMDgxLDIwICsyMDgxLDI5IEBAIHVuc2lnbmVkIGxvbmcgcGFn aW5nX2d2YV90b19nZm4oc3RydWN0IHZjcHUgKnYsCiAKICAgICBpZiAoIGlzX2h2bV92Y3B1KHYp ICYmIHBhZ2luZ19tb2RlX2hhcCh2LT5kb21haW4pICYmIG5lc3RlZGh2bV9pc19uMih2KSApCiAg ICAgewotICAgICAgICB1bnNpZ25lZCBsb25nIGdmbjsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBs Ml9nZm4sIGwxX2dmbjsKICAgICAgICAgc3RydWN0IHAybV9kb21haW4gKnAybTsKICAgICAgICAg Y29uc3Qgc3RydWN0IHBhZ2luZ19tb2RlICptb2RlOwotICAgICAgICB1aW50MzJfdCBwZmVjXzIx ID0gKnBmZWM7CiAgICAgICAgIHVpbnQ2NF90IG5wMm1fYmFzZSA9IG5odm1fdmNwdV9wMm1fYmFz ZSh2KTsKKyAgICAgICAgdWludDhfdCBsMV9wMm1hOworICAgICAgICB1bnNpZ25lZCBpbnQgbDFf cGFnZV9vcmRlcjsKKyAgICAgICAgaW50IHJ2OwogCiAgICAgICAgIC8qIHRyYW5zbGF0ZSBsMiBn dWVzdCB2YSBpbnRvIGwyIGd1ZXN0IGdmbiAqLwogICAgICAgICBwMm0gPSBwMm1fZ2V0X25lc3Rl ZHAybSh2LCBucDJtX2Jhc2UpOwogICAgICAgICBtb2RlID0gcGFnaW5nX2dldF9uZXN0ZWRtb2Rl KHYpOwotICAgICAgICBnZm4gPSBtb2RlLT5ndmFfdG9fZ2ZuKHYsIHAybSwgdmEsIHBmZWMpOwor ICAgICAgICBsMl9nZm4gPSBtb2RlLT5ndmFfdG9fZ2ZuKHYsIHAybSwgdmEsIHBmZWMpOworCisg ICAgICAgIGlmICggbDJfZ2ZuID09IElOVkFMSURfR0ZOICkKKyAgICAgICAgICAgIHJldHVybiBJ TlZBTElEX0dGTjsKIAogICAgICAgICAvKiB0cmFuc2xhdGUgbDIgZ3Vlc3QgZ2ZuIGludG8gbDEg Z3Vlc3QgZ2ZuICovCi0gICAgICAgIHJldHVybiBob3N0bW9kZS0+cDJtX2dhX3RvX2dmbih2LCBo b3N0cDJtLCBucDJtX2Jhc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBnZm4gPDwgUEFHRV9TSElGVCwgJnBmZWNfMjEsIE5VTEwpOworICAgICAgICBydiA9IG5lc3Rl ZGhhcF93YWxrX0wxX3AybSh2LCBsMl9nZm4sICZsMV9nZm4sICZsMV9wYWdlX29yZGVyLCAmbDFf cDJtYSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgISEoKnBmZWMgJiBQRkVDX3dyaXRlX2FjY2VzcyksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhKCpwZmVjICYgUEZFQ19pbnNuX2Zl dGNoKSk7CisKKyAgICAgICAgcmV0dXJuIHJ2ID09IE5FU1RFREhWTV9QQUdFRkFVTFRfRE9ORSA/ IGwxX2dmbiA6IElOVkFMSURfR0ZOOwogICAgIH0KIAogICAgIHJldHVybiBob3N0bW9kZS0+Z3Zh X3RvX2dmbih2LCBob3N0cDJtLCB2YSwgcGZlYyk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L2h2bS9uZXN0ZWRodm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL25lc3RlZGh2 bS5oCmluZGV4IGNmMWE4ZjQuLmJjODI0MjUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL25lc3RlZGh2bS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL25lc3RlZGh2 bS5oCkBAIC01Niw2ICs1NiwxMCBAQCBib29sX3QgbmVzdGVkaHZtX3ZjcHVfaW5fZ3Vlc3Rtb2Rl KHN0cnVjdCB2Y3B1ICp2KTsKIGludCBuZXN0ZWRodm1faGFwX25lc3RlZF9wYWdlX2ZhdWx0KHN0 cnVjdCB2Y3B1ICp2LCBwYWRkcl90ICpMMl9ncGEsCiAgICAgYm9vbF90IGFjY2Vzc19yLCBib29s X3QgYWNjZXNzX3csIGJvb2xfdCBhY2Nlc3NfeCk7CiAKK2ludCBuZXN0ZWRoYXBfd2Fsa19MMV9w Mm0oc3RydWN0IHZjcHUgKnYsIHBhZGRyX3QgTDJfZ3BhLCBwYWRkcl90ICpMMV9ncGEsCisgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqcGFnZV9vcmRlciwgdWludDhfdCAq cDJtX2FjYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGFjY2Vzc19yLCBib29s X3QgYWNjZXNzX3csIGJvb2xfdCBhY2Nlc3NfeCk7CisKIC8qIElPIHBlcm1pc3Npb24gbWFwICov CiB1bnNpZ25lZCBsb25nICpuZXN0ZWRodm1fdmNwdV9pb21hcF9nZXQoYm9vbF90IGlvcG9ydF84 MCwgYm9vbF90IGlvcG9ydF9lZCk7CiAKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK