From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/5] x86/paging: Enforce PG_external == PG_translate == PG_refcounts Date: Mon, 12 Dec 2016 10:43:43 +0000 Message-ID: <1481539425-9239-4-git-send-email-andrew.cooper3@citrix.com> References: <1481539425-9239-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: In-Reply-To: <1481539425-9239-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2V0dGluZyBQR19yZWZjb3VudHMgYnV0IG5vdCBQR190cmFuc2xhdGUgaXMgbm90IHVzZWZ1bC4K CldoaWxlIGFkanVzdGluZyB0aGlzLCBtYWtlIGEgZmV3IG90aGVyIGltcHJvdmVtZW50cy4KCiAq IEhhdmUgcGFnaW5nX2VuYWJsZSgpIHVuaWxhdGVyYWxseSByZWplY3QgYW55IHVua25vd24gbW9k ZXMuCiAqIENvcnJlY3QgdGhlIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLiAgcGFnaW5nX2VuYWJsZSgp IGlzIGFsc28gdXNlZCB0byBlbmFibGUKICAgbG9nZGlydHkgZHVyaW5nIHJ1bnRpbWUuCiAqIERy b3AgdGhlIG9yJ2luZyBvZiBQR197SEFQLFNIfV9lbmFibGUuICBUaGUgdW5kZXJseWluZyBmdW5j dGlvbnMgYWxyZWFkeSBkbwogICB0aGlzLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hA c3VzZS5jb20+CkNDOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4KQ0M6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0vcGFnaW5n LmMgICAgICAgIHwgMTkgKysrKysrKysrKysrKy0tLS0tLQogeGVuL2FyY2gveDg2L21tL3NoYWRv dy9jb21tb24uYyB8ICAzICstLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaCAgICB8ICA5 ICsrKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMgYi94ZW4vYXJjaC94 ODYvbW0vcGFnaW5nLmMKaW5kZXggODUzYTAzNS4uOTU0ODIyMiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L21tL3BhZ2luZy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtODQy LDIzICs4NDIsMzAgQEAgdm9pZCBwYWdpbmdfZmluYWxfdGVhcmRvd24oc3RydWN0IGRvbWFpbiAq ZCkKICAgICBwMm1fZmluYWxfdGVhcmRvd24oZCk7CiB9CiAKLS8qIEVuYWJsZSBhbiBhcmJpdHJh cnkgcGFnaW5nLWFzc2lzdGFuY2UgbW9kZS4gIENhbGwgb25jZSBhdCBkb21haW4KLSAqIGNyZWF0 aW9uLiAqLworLyoKKyAqIEVuYWJsZSBhbiBhcmJpdHJhcnkgcGFnaW5nLWFzc2lzdGFuY2UgbW9k ZS4gIENhbGwgb25jZSBhdCBkb21haW4KKyAqIGNyZWF0aW9uLCBhbmQgZHVyaW5nIHJ1bnRpbWUg Zm9yIGxvZ2RpcnR5IG1vZGUuCisgKi8KIGludCBwYWdpbmdfZW5hYmxlKHN0cnVjdCBkb21haW4g KmQsIHUzMiBtb2RlKQogewotICAgIHN3aXRjaCAoIG1vZGUgJiAoUEdfZXh0ZXJuYWwgfCBQR190 cmFuc2xhdGUpICkKKyAgICAvKiBVbnJlY29nbmlzZWQgcGFnaW5nIG1vZGU/ICovCisgICAgaWYg KCBtb2RlICYgflBHX01BU0sgKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKKworICAgIC8qIEFs bCBvZiBleHRlcm5hbHx0cmFuc2xhdGV8cmVmY291bnRzLCBvciBub25lLiAqLworICAgIHN3aXRj aCAoIG1vZGUgJiAoUEdfZXh0ZXJuYWwgfCBQR190cmFuc2xhdGUgfCBQR19yZWZjb3VudHMpICkK ICAgICB7CiAgICAgY2FzZSAwOgotICAgIGNhc2UgUEdfZXh0ZXJuYWwgfCBQR190cmFuc2xhdGU6 CisgICAgY2FzZSBQR19leHRlcm5hbCB8IFBHX3RyYW5zbGF0ZSB8IFBHX3JlZmNvdW50czoKICAg ICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAg fQogCiAgICAgaWYgKCBoYXBfZW5hYmxlZChkKSApCi0gICAgICAgIHJldHVybiBoYXBfZW5hYmxl KGQsIG1vZGUgfCBQR19IQVBfZW5hYmxlKTsKKyAgICAgICAgcmV0dXJuIGhhcF9lbmFibGUoZCwg bW9kZSk7CiAgICAgZWxzZQotICAgICAgICByZXR1cm4gc2hhZG93X2VuYWJsZShkLCBtb2RlIHwg UEdfU0hfZW5hYmxlKTsKKyAgICAgICAgcmV0dXJuIHNoYWRvd19lbmFibGUoZCwgbW9kZSk7CiB9 CiAKIC8qIENhbGxlZCBmcm9tIHRoZSBndWVzdCB0byBpbmRpY2F0ZSB0aGF0IGEgcHJvY2VzcyBp cyBiZWluZyB0b3JuIGRvd24KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29t bW9uLmMgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IDM5YmU1NjQuLjg0 YTg3ZjMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKKysrIGIv eGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtMzE0NCw4ICszMTQ0LDcgQEAgaW50 IHNoYWRvd19lbmFibGUoc3RydWN0IGRvbWFpbiAqZCwgdTMyIG1vZGUpCiAgICAgZG9tYWluX3Bh dXNlKGQpOwogCiAgICAgLyogU2FuaXR5IGNoZWNrIHRoZSBhcmd1bWVudHMgKi8KLSAgICBpZiAo IHNoYWRvd19tb2RlX2VuYWJsZWQoZCkgfHwKLSAgICAgICAgICgobW9kZSAmIFBHX3RyYW5zbGF0 ZSkgJiYgIShtb2RlICYgUEdfcmVmY291bnRzKSkgKQorICAgIGlmICggc2hhZG93X21vZGVfZW5h YmxlZChkKSApCiAgICAgewogICAgICAgICBydiA9IC1FSU5WQUw7CiAgICAgICAgIGdvdG8gb3V0 X3VubG9ja2VkOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaCBiL3hl bi9pbmNsdWRlL2FzbS14ODYvcGFnaW5nLmgKaW5kZXggZjgzZWQ4Yi4uMTUzNTY1OSAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wYWdpbmcuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L3BhZ2luZy5oCkBAIC01Nyw2ICs1Nyw5IEBACiAgKiByZXF1aXJlcyBWVCBvciBzaW1pbGFy IG1lY2hhbmlzbXMgKi8KICNkZWZpbmUgUEdfZXh0ZXJuYWwgICAgKFhFTl9ET01DVExfU0hBRE9X X0VOQUJMRV9FWFRFUk5BTCA8PCBQR19tb2RlX3NoaWZ0KQogCisvKiBBbGwgcGFnaW5nIG1vZGVz LiAqLworI2RlZmluZSBQR19NQVNLIChQR19yZWZjb3VudHMgfCBQR19sb2dfZGlydHkgfCBQR190 cmFuc2xhdGUgfCBQR19leHRlcm5hbCkKKwogI2RlZmluZSBwYWdpbmdfbW9kZV9lbmFibGVkKF9k KSAgICghIShfZCktPmFyY2gucGFnaW5nLm1vZGUpCiAjZGVmaW5lIHBhZ2luZ19tb2RlX3NoYWRv dyhfZCkgICAgKCEhKChfZCktPmFyY2gucGFnaW5nLm1vZGUgJiBQR19TSF9lbmFibGUpKQogI2Rl ZmluZSBwYWdpbmdfbW9kZV9oYXAoX2QpICAgICAgICghISgoX2QpLT5hcmNoLnBhZ2luZy5tb2Rl ICYgUEdfSEFQX2VuYWJsZSkpCkBAIC0yMTIsOCArMjE1LDEwIEBAIGludCBwYWdpbmdfdGVhcmRv d24oc3RydWN0IGRvbWFpbiAqZCk7CiAvKiBDYWxsIG9uY2UgYWxsIG9mIHRoZSByZWZlcmVuY2Vz IHRvIHRoZSBkb21haW4gaGF2ZSBnb25lIGF3YXkgKi8KIHZvaWQgcGFnaW5nX2ZpbmFsX3RlYXJk b3duKHN0cnVjdCBkb21haW4gKmQpOwogCi0vKiBFbmFibGUgYW4gYXJiaXRyYXJ5IHBhZ2luZy1h c3Npc3RhbmNlIG1vZGUuICBDYWxsIG9uY2UgYXQgZG9tYWluCi0gKiBjcmVhdGlvbi4gKi8KKy8q CisgKiBFbmFibGUgYW4gYXJiaXRyYXJ5IHBhZ2luZy1hc3Npc3RhbmNlIG1vZGUuICBDYWxsIG9u Y2UgYXQgZG9tYWluCisgKiBjcmVhdGlvbiwgYW5kIGR1cmluZyBydW50aW1lIGZvciBsb2dkaXJ0 eSBtb2RlLgorICovCiBpbnQgcGFnaW5nX2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkLCB1MzIgbW9k ZSk7CiAKICNkZWZpbmUgcGFnaW5nX2dldF9ob3N0bW9kZSh2KQkJKCh2KS0+YXJjaC5wYWdpbmcu bW9kZSkKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==