From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/xpti: Hide almost all of .text and all .data/.rodata/.bss mappings Date: Tue, 13 Feb 2018 19:45:06 +0000 Message-ID: <1518551106-10073-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.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Juergen Gross , Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIGN1cnJlbnQgWFBUSSBpbXBsZW1lbnRhdGlvbiBpc29sYXRlcyB0aGUgZGlyZWN0bWFwIChh bmQgdGhlcmVmb3JlIGEgbG90IG9mCmd1ZXN0IGRhdGEpLCBidXQgYSBsYXJnZSBxdWFudGl0eSBv ZiBDUFUwJ3Mgc3RhdGUgKGluY2x1ZGluZyBpdHMgc3RhY2spCnJlbWFpbnMgdmlzaWJsZS4KCkZ1 cnRoZXJtb3JlLCBhbiBhdHRhY2tlciBhYmxlIHRvIHJlYWQgLnRleHQgaXMgaW4gYSB2YXN0bHkg c3VwZXJpb3IgcG9zaXRpb24KdG8gbm9ybWFsIHdoZW4gaXQgY29tZXMgdG8gZmluZ2VycHJpbnRp bmcgWGVuIGZvciBrbm93biB2dWxuZXJhYmlsaXRpZXMsIG9yCnNjYW5uaW5nIGZvciBST1AvU3Bl Y3RyZSBnYWRnZXRzLgoKQ29sbGVjdCB0b2dldGhlciB0aGUgZW50cnlwb2ludHMgaW4gLnRleHQu ZW50cnkgKGN1cnJlbnRseSAzeDRrIGZyYW1lcywgYnV0CmNhbiBhbG1vc3QgY2VydGFpbmx5IGJl IHNsaW1tZWQgZG93biksIGFuZCBjcmVhdGUgYSBjb21tb24gbWFwcGluZyB3aGljaCBpcwppbnNl cnRlZCBpbnRvIGVhY2ggcGVyLWNwdSBzaGFkb3cuICBUaGUgc3R1YnMgYXJlIGFsc28gaW5zZXJ0 ZWQgaW50byB0aGlzCm1hcHBpbmcgYnkgcG9pbnRpbmcgYXQgdGhlIGluLXVzZSBMMi4gIFRoaXMg YWxsb3dzIHN0dWJzIGFsbG9jYXRlZCBsYXRlciAoU01QCmJvb3QsIG9yIENQVSBob3RwbHVnKSB0 byB3b3JrIHdpdGhvdXQgZnVydGhlciBjaGFuZ2VzIHRvIHRoZSBjb21tb24gbWFwcGluZ3MuCgpT aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgot LS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5s aXUyQGNpdHJpeC5jb20+CkNDOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+CgpSRkMs IGJlY2F1c2UgSSBkb24ndCB0aGluayB0aGUgc3R1YnMgaGFuZGxpbmcgaXMgcGFydGljdWxhcmx5 IHNlbnNpYmxlLgoKV2UgYWxsb2NhdGUgNGsgb2YgdmlydHVhbCBhZGRyZXNzIHNwYWNlIHBlciBD UFUsIGJ1dCBzcXVhc2ggbG9hZHMgb2YgQ1BVcwp0b2dldGhlciBvbnRvIGEgc2luZ2xlIE1GTi4g IFRoZSBzdHVicyBvdWdodCB0byBiZSBpc29sYXRlZCBhcyB3ZWxsIChhcyB0aGV5CmxlYWsgdGhl IHZpcnR1YWwgYWRkcmVzc2VzIG9mIGVhY2ggc3RhY2spLCB3aGljaCBjYW4gYmUgZG9uZSBieSBh bGxvY2F0aW5nIGFuCk1GTiBwZXIgQ1BVIChhbmQgc2ltcGxpZmllcyBjcHVfc21wYm9vdF9hbGxv YygpIHNvbWV3aGF0KS4gIEF0IHRoaXMgcG9pbnQsIHdlCmNhbid0IHVzZSBhIGNvbW1vbiBzZXQg b2YgbWFwcGluZ3MsIGFuZCB3aWxsIGhhdmUgdG8gY2xvbmUgdGhlIHNpbmdsZSBzdHViIGFuZAou ZW50cnkudGV4dCBpbnRvIGVhY2ggUENQVXMgY29weSBvZiB0aGUgcGFnZXRhYmxlcy4KCkFsc28s IG15IHBsYW4gdG8gY2F1c2UgLnRleHQuZW50cnkgdG8gc3RyYWRkbGUgYSA1MTJUQiBib3VuZGFy eSAoYW5kIHRoZXJlZm9yZQphdm9pZCBhbnkgZnVydGhlciBwYWdldGFibGUgYWxsb2NhdGlvbnMp IGhhcyBjb21lIGEgbGl0dGxlIHVuc3R1Y2sgYmVjYXVzZSBvZgpDT05GSUdfQklHTUVNLiAgSSdt IHN0aWxsIHdvcmtpbmcgb3V0IHdoZXRoZXIgdGhlcmUgaXMgYSBzZW5zaWJsZSB3YXkgdG8KcmVh cnJhbmdlIHRoZSB2aXJ0dWFsIGxheW91dCBmb3IgdGhpcyBwbGFuIHRvIHdvcmsuCi0tLQogeGVu L2FyY2gveDg2L3NtcGJvb3QuYyAgICAgICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0KIHhlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMgfCAg MiArKwogeGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TICAgICAgICB8ICA0ICsrKy0KIHhlbi9h cmNoL3g4Ni94ZW4ubGRzLlMgICAgICAgICAgICAgfCAgNyArKysrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDQ0IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L3NtcGJvb3QuYyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMKaW5kZXggMmViZWYwMy4u MjUxOTE0MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NtcGJvb3QuYworKysgYi94ZW4vYXJj aC94ODYvc21wYm9vdC5jCkBAIC02MjIsNiArNjIyLDkgQEAgdW5zaWduZWQgbG9uZyBhbGxvY19z dHViX3BhZ2UodW5zaWduZWQgaW50IGNwdSwgdW5zaWduZWQgbG9uZyAqbWZuKQogICAgICAgICB1 bm1hcF9kb21haW5fcGFnZShtZW1zZXQoX19tYXBfZG9tYWluX3BhZ2UocGcpLCAweGNjLCBQQUdF X1NJWkUpKTsKICAgICB9CiAKKyAgICAvKiBDb25maXJtIHRoYXQgYWxsIHN0dWJzIGZpdCBpbiBh IHNpbmdsZSBMMiBwYWdldGFibGUuICovCisgICAgQlVJTERfQlVHX09OKE5SX0NQVVMgKiBQQUdF X1NJWkUgPiAoMXUgPDwgTDJfUEFHRVRBQkxFX1NISUZUKSk7CisKICAgICBzdHViX3ZhID0gWEVO X1ZJUlRfRU5EIC0gKGNwdSArIDEpICogUEFHRV9TSVpFOwogICAgIGlmICggbWFwX3BhZ2VzX3Rv X3hlbihzdHViX3ZhLCBtZm5feChwYWdlX3RvX21mbihwZykpLCAxLAogICAgICAgICAgICAgICAg ICAgICAgICAgICBQQUdFX0hZUEVSVklTT1JfUlggfCBNQVBfU01BTExfUEFHRVMpICkKQEAgLTY1 MSw5ICs2NTQsNiBAQCBzdGF0aWMgaW50IGNsb25lX21hcHBpbmcoY29uc3Qgdm9pZCAqcHRyLCBy b290X3BnZW50cnlfdCAqcnB0KQogICAgIGwyX3BnZW50cnlfdCAqcGwyZTsKICAgICBsMV9wZ2Vu dHJ5X3QgKnBsMWU7CiAKLSAgICBpZiAoIGxpbmVhciA8IERJUkVDVE1BUF9WSVJUX1NUQVJUICkK LSAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBmbGFncyA9IGwzZV9nZXRfZmxhZ3MoKnBsM2UpOwog ICAgIEFTU0VSVChmbGFncyAmIF9QQUdFX1BSRVNFTlQpOwogICAgIGlmICggZmxhZ3MgJiBfUEFH RV9QU0UgKQpAQCAtNzQ0LDYgKzc0NCw5IEBAIHN0YXRpYyBfX3JlYWRfbW9zdGx5IGludDhfdCBv cHRfeHB0aSA9IC0xOwogYm9vbGVhbl9wYXJhbSgieHB0aSIsIG9wdF94cHRpKTsKIERFRklORV9Q RVJfQ1BVKHJvb3RfcGdlbnRyeV90ICosIHJvb3RfcGd0KTsKIAorc3RhdGljIHJvb3RfcGdlbnRy eV90IGNvbW1vbl9wZ3Q7CitleHRlcm4gY2hhciBfc3RleHRlbnRyeVtdLCBfZXRleHRlbnRyeVtd OworCiBzdGF0aWMgaW50IHNldHVwX2NwdV9yb290X3BndCh1bnNpZ25lZCBpbnQgY3B1KQogewog ICAgIHJvb3RfcGdlbnRyeV90ICpycHQ7CkBAIC03NjQsOCArNzY3LDMyIEBAIHN0YXRpYyBpbnQg c2V0dXBfY3B1X3Jvb3RfcGd0KHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIGlkbGVfcGdfdGFi bGVbcm9vdF90YWJsZV9vZmZzZXQoUk9fTVBUX1ZJUlRfU1RBUlQpXTsKICAgICAvKiBTSF9MSU5F QVJfUFQgaW5zZXJ0ZWQgdG9nZXRoZXIgd2l0aCBndWVzdCBtYXBwaW5ncy4gKi8KICAgICAvKiBQ RVJET01BSU4gaW5zZXJ0ZWQgZHVyaW5nIGNvbnRleHQgc3dpdGNoLiAqLwotICAgIHJwdFtyb290 X3RhYmxlX29mZnNldChYRU5fVklSVF9TVEFSVCldID0KLSAgICAgICAgaWRsZV9wZ190YWJsZVty b290X3RhYmxlX29mZnNldChYRU5fVklSVF9TVEFSVCldOworCisgICAgLyogT25lLXRpbWUgc2V0 dXAgb2YgY29tbW9uX3BndCwgd2hpY2ggbWFwcyAudGV4dC5lbnRyeSBhbmQgdGhlIHN0dWJzLiAq LworICAgIGlmICggdW5saWtlbHkoIXJvb3RfZ2V0X2ludHB0ZShjb21tb25fcGd0KSkgKQorICAg IHsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBzdHVic19saW5lYXIgPSBYRU5fVklSVF9FTkQgLSAx OworICAgICAgICBsM19wZ2VudHJ5X3QgKnN0dWJzX21haW4sICpzdHVic19zaGFkb3c7CisgICAg ICAgIGNoYXIgKnB0cjsKKworICAgICAgICBmb3IgKCByYyA9IDAsIHB0ciA9IF9zdGV4dGVudHJ5 OworICAgICAgICAgICAgICAhcmMgJiYgcHRyIDwgX2V0ZXh0ZW50cnk7IHB0ciArPSBQQUdFX1NJ WkUgKQorICAgICAgICAgICAgcmMgPSBjbG9uZV9tYXBwaW5nKHB0ciwgcnB0KTsKKworICAgICAg ICBpZiAoIHJjICkKKyAgICAgICAgICAgIHJldHVybiByYzsKKworICAgICAgICBzdHVic19tYWlu ID0gbDRlX3RvX2wzZShpZGxlX3BnX3RhYmxlW2w0X3RhYmxlX29mZnNldChzdHVic19saW5lYXIp XSk7CisgICAgICAgIHN0dWJzX3NoYWRvdyA9IGw0ZV90b19sM2UocnB0W2w0X3RhYmxlX29mZnNl dChzdHVic19saW5lYXIpXSk7CisKKyAgICAgICAgLyogU3BsaWNlIGludG8gdGhlIHJlZ3VsYXIg TDIgbWFwcGluZyB0aGUgc3R1YnMuICovCisgICAgICAgIHN0dWJzX3NoYWRvd1tsM190YWJsZV9v ZmZzZXQoc3R1YnNfbGluZWFyKV0gPQorICAgICAgICAgICAgc3R1YnNfbWFpbltsM190YWJsZV9v ZmZzZXQoc3R1YnNfbGluZWFyKV07CisKKyAgICAgICAgY29tbW9uX3BndCA9IHJwdFtyb290X3Rh YmxlX29mZnNldChYRU5fVklSVF9TVEFSVCldOworICAgIH0KKworICAgIHJwdFtyb290X3RhYmxl X29mZnNldChYRU5fVklSVF9TVEFSVCldID0gY29tbW9uX3BndDsKIAogICAgIC8qIEluc3RhbGwg ZGlyZWN0IG1hcCBwYWdlIHRhYmxlIGVudHJpZXMgZm9yIHN0YWNrLCBJRFQsIGFuZCBUU1MuICov CiAgICAgZm9yICggb2ZmID0gcmMgPSAwOyAhcmMgJiYgb2ZmIDwgU1RBQ0tfU0laRTsgb2ZmICs9 IFBBR0VfU0laRSApCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRy eS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwppbmRleCA3MDdjNzQ2Li5i MDAxZTc5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCisr KyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMKQEAgLTEzLDYgKzEzLDggQEAK ICNpbmNsdWRlIDxwdWJsaWMveGVuLmg+CiAjaW5jbHVkZSA8aXJxX3ZlY3RvcnMuaD4KIAorICAg ICAgICAuc2VjdGlvbiAudGV4dC5lbnRyeSwgImF4IiwgQHByb2diaXRzCisKIEVOVFJZKGVudHJ5 X2ludDgyKQogICAgICAgICBBU01fQ0xBQwogICAgICAgICBwdXNocSAkMApkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5T CmluZGV4IDU4ZjY1MmQuLjVjNTMxMGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQv ZW50cnkuUworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKQEAgLTE0LDYgKzE0LDgg QEAKICNpbmNsdWRlIDxwdWJsaWMveGVuLmg+CiAjaW5jbHVkZSA8aXJxX3ZlY3RvcnMuaD4KIAor ICAgICAgICAuc2VjdGlvbiAudGV4dC5lbnRyeSwgImF4IiwgQHByb2diaXRzCisKIC8qICVyYng6 IHN0cnVjdCB2Y3B1ICovCiBFTlRSWShzd2l0Y2hfdG9fa2VybmVsKQogICAgICAgICBsZWFxICBW Q1BVX3RyYXBfYm91bmNlKCVyYngpLCVyZHgKQEAgLTg1NCw3ICs4NTYsNyBAQCBHTE9CQUwoYXV0 b2dlbl9lbnRyeXBvaW50cykKICAgICAgICAgLnBvcHNlY3Rpb24KICAgICAgICAgLmVuZG0KIAot ICAgICAgICAudGV4dAorICAgICAgICAucHJldmlvdXMKIGF1dG9nZW5fc3R1YnM6IC8qIEF1dG9t YXRpY2FsbHkgZ2VuZXJhdGVkIHN0dWJzLiAqLwogCiAgICAgICAgIHZlYyA9IDAKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCmluZGV4 IDA5NTI5ODAuLjI1YzZjYmMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKKysr IGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwpAQCAtNjcsNiArNjcsMTMgQEAgU0VDVElPTlMKICAg ICAgICAqKC50ZXh0KQogICAgICAgICooLnRleHQuX194ODZfaW5kaXJlY3RfdGh1bmtfKikKICAg ICAgICAqKC50ZXh0LnBhZ2VfYWxpZ25lZCkKKworICAgICAgIC4gPSBBTElHTihQQUdFX1NJWkUp OworICAgICAgIF9zdGV4dGVudHJ5ID0gLjsKKyAgICAgICAqKC50ZXh0LmVudHJ5KQorICAgICAg IC4gPSBBTElHTihQQUdFX1NJWkUpOworICAgICAgIF9ldGV4dGVudHJ5ID0gLjsKKwogICAgICAg ICooLnRleHQuY29sZCkKICAgICAgICAqKC50ZXh0LnVubGlrZWx5KQogICAgICAgICooLmZpeHVw KQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs