From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2] xen/x86: Remap text/data/bss with appropriate permissions Date: Fri, 18 Mar 2016 19:49:48 +0000 Message-ID: <1458330588-14901-1-git-send-email-andrew.cooper3@citrix.com> References: <56EACDC102000078000DDF03@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <56EACDC102000078000DDF03@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org Yy9zIGNmMzkzNjIgIng4NjogdXNlIDJNIHN1cGVycGFnZXMgZm9yIHRleHQvZGF0YS9ic3MgbWFw cGluZ3MiIHNlcnZlZCB0d28KcHVycG9zZXM7IHRvIG1hcCB0aGUgcHJpbWFyeSBjb2RlIGFuZCBk YXRhIHdpdGggYXBwcm9wcmlhdGUgcGFnZXRhYmxlCnBlcm1pc3Npb25zIChyYXRoZXIgdGhhbiB1 bmlsYXRlcmFsbHkgUldYKSwgYW5kIHRvIHJlZHVjZSB0aGUgVExCIHByZXNzdXJlLgoKVGhlIGV4 dHJhIGFsaWdubWVudCBleHBvc2VkIGEgU1lTTGludXggaXNzdWUsIGFuZCB3YXMgcGFydGx5IHJl dmVydGVkIGJ5IGMvcwowYjhhMTcyICJ4ODY6IHBhcnRpYWxseSByZXZlcnQgdXNlIG9mIDJNIG1h cHBpbmdzIGZvciBoeXBlcnZpc29yIGltYWdlIi4KClRoaXMgY2hhbmdlIHJlaW5zdGF0ZXMgdGhl IHBhZ2V0YWJsZSBwZXJtaXNzaW9uIGltcHJvdmVtZW50cyB3aGlsZSBhdm9pZGluZwp0aGUgMk0g YWxpZ25tZW50IGlzc3VlLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+ Cgp2MjoKCk1vdmUgdGhlIHJlbWFwcGluZyBlYXJsaWVyIGluIHRoZSBib290IHNlcXVlbmNlLiAg VGhpcyBpcyB3aGVyZQptZW1ndWFydF9pbml0KCkgdXNlZCB0byByZXNpZGUsIHdoaWNoIGl0c2Vs ZiB1c2VkIG1hcF9wYWdlc190b194ZW4oKSBvbiB0aGUKZnVsbCB2aXJ0dWFsIHJlZ2lvbi4KLS0t CiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogeGVuL2FyY2gveDg2L3hlbi5sZHMuUyB8IDE2ICsrKysrKysrKysrKysrKysKIDIgZmls ZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9z ZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggMTg3NmEyOC4uZWU2NWY1NSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMK QEAgLTEyMDUsNiArMTIwNSwzNyBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1 bnNpZ25lZCBsb25nIG1iaV9wKQogICAgICAgICAgICAgICAgICAgIH4oKDFVTCA8PCBMMl9QQUdF VEFCTEVfU0hJRlQpIC0gMSk7CiAgICAgZGVzdHJveV94ZW5fbWFwcGluZ3MoeGVuX3ZpcnRfZW5k LCBYRU5fVklSVF9TVEFSVCArIEJPT1RTVFJBUF9NQVBfQkFTRSk7CiAKKyAgICAvKgorICAgICAq IElmIG5vdCB1c2luZyAyTSBtYXBwaW5ncyB0byBnYWluIHN1aXRhYmxlIHBhZ2V0YWJsZSBwZXJt aXNzaW9ucworICAgICAqIGRpcmVjdGx5IGZyb20gdGhlIHJlbG9jYXRpb24gYWJvdmUsIHJlbWFw IHRoZSBjb2RlL2RhdGEKKyAgICAgKiBzZWN0aW9ucyB3aXRoIGRlY3JlYXNlZCBwZXJtaXNzaW9u cy4KKyAgICAgKi8KKyAgICBpZiAoICF1c2luZ18yTV9tYXBwaW5nKCkgKQorICAgIHsKKyAgICAg ICAgLyogTWFyayAudGV4dCBhcyBSWCAoYXZvaWRpbmcgdGhlIGZpcnN0IDJNIHN1cGVycGFnZSku ICovCisgICAgICAgIG1hcF9wYWdlc190b194ZW4oWEVOX1ZJUlRfU1RBUlQgKyBNQigyKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBQRk5fRE9XTihfX3BhKFhFTl9WSVJUX1NUQVJUICsgTUIo MikpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBQRk5fRE9XTihfXzJNX3RleHRfZW5kIC0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3QgY2hhciAqKShYRU5fVklS VF9TVEFSVCArIE1CKDIpKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgUEFHRV9IWVBFUlZJ U09SX1JYKTsKKworICAgICAgICAvKiBNYXJrIC5yb2RhdGEgYXMgUk8uICovCisgICAgICAgIG1h cF9wYWdlc190b194ZW4oKHVuc2lnbmVkIGxvbmcpJl9fMk1fcm9kYXRhX3N0YXJ0LAorICAgICAg ICAgICAgICAgICAgICAgICAgIFBGTl9ET1dOKF9fcGEoX18yTV9yb2RhdGFfc3RhcnQpKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICBQRk5fRE9XTihfXzJNX3JvZGF0YV9lbmQgLSBfXzJNX3Jv ZGF0YV9zdGFydCksCisgICAgICAgICAgICAgICAgICAgICAgICAgUEFHRV9IWVBFUlZJU09SX1JP KTsKKworICAgICAgICAvKiBNYXJrIC5kYXRhIGFuZCAuYnNzIGFzIFJXLiAqLworICAgICAgICBt YXBfcGFnZXNfdG9feGVuKCh1bnNpZ25lZCBsb25nKSZfXzJNX3J3ZGF0YV9zdGFydCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICBQRk5fRE9XTihfX3BhKF9fMk1fcndkYXRhX3N0YXJ0KSksCisg ICAgICAgICAgICAgICAgICAgICAgICAgUEZOX0RPV04oX18yTV9yd2RhdGFfZW5kIC0gX18yTV9y d2RhdGFfc3RhcnQpLAorICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfSFlQRVJWSVNPUl9S Vyk7CisKKyAgICAgICAgLyogRHJvcCB0aGUgcmVtYWluaW5nIG1hcHBpbmdzIGluIHRoZSBzaGF0 dGVyZWQgc3VwZXJwYWdlLiAqLworICAgICAgICBkZXN0cm95X3hlbl9tYXBwaW5ncygodW5zaWdu ZWQgbG9uZykmX18yTV9yd2RhdGFfZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS T1VORFVQKCh1bnNpZ25lZCBsb25nKSZfXzJNX3J3ZGF0YV9lbmQsIE1CKDIpKSk7CisgICAgfQor CiAgICAgbnJfcGFnZXMgPSAwOwogICAgIGZvciAoIGkgPSAwOyBpIDwgZTgyMC5ucl9tYXA7IGkr KyApCiAgICAgICAgIGlmICggZTgyMC5tYXBbaV0udHlwZSA9PSBFODIwX1JBTSApCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TIGIveGVuL2FyY2gveDg2L3hlbi5sZHMuUwppbmRl eCBlNDc3NzFjLi41ZWI4MjVlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveGVuLmxkcy5TCisr KyBiL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKQEAgLTU2LDYgKzU2LDggQEAgU0VDVElPTlMKIAog I2lmZGVmIEVGSQogICAuID0gQUxJR04oTUIoMikpOworI2Vsc2UKKyAgLiA9IEFMSUdOKFBBR0Vf U0laRSk7CiAjZW5kaWYKICAgX18yTV90ZXh0X2VuZCA9IC47CiAKQEAgLTk5LDYgKzEwMSw4IEBA IFNFQ1RJT05TCiAKICNpZmRlZiBFRkkKICAgLiA9IEFMSUdOKE1CKDIpKTsKKyNlbHNlCisgIC4g PSBBTElHTihQQUdFX1NJWkUpOwogI2VuZGlmCiAgIF9fMk1fcm9kYXRhX2VuZCA9IC47CiAKQEAg LTE2OCw2ICsxNzIsOCBAQCBTRUNUSU9OUwogCiAjaWZkZWYgRUZJCiAgIC4gPSBBTElHTihNQigy KSk7CisjZWxzZQorICAuID0gQUxJR04oUEFHRV9TSVpFKTsKICNlbmRpZgogICBfXzJNX2luaXRf ZW5kID0gLjsKIApAQCAtMjEyLDYgKzIxOCw4IEBAIFNFQ1RJT05TCiAKICNpZmRlZiBFRkkKICAg LiA9IEFMSUdOKE1CKDIpKTsKKyNlbHNlCisgIC4gPSBBTElHTihQQUdFX1NJWkUpOwogI2VuZGlm CiAgIF9fMk1fcndkYXRhX2VuZCA9IC47CiAKQEAgLTI3MCw2ICsyNzgsMTQgQEAgQVNTRVJUKElT X0FMSUdORUQoX18yTV9pbml0X3N0YXJ0LCAgIE1CKDIpKSwgIl9fMk1faW5pdF9zdGFydCBtaXNh bGlnbmVkIikKIEFTU0VSVChJU19BTElHTkVEKF9fMk1faW5pdF9lbmQsICAgICBNQigyKSksICJf XzJNX2luaXRfZW5kIG1pc2FsaWduZWQiKQogQVNTRVJUKElTX0FMSUdORUQoX18yTV9yd2RhdGFf c3RhcnQsIE1CKDIpKSwgIl9fMk1fcndkYXRhX3N0YXJ0IG1pc2FsaWduZWQiKQogQVNTRVJUKElT X0FMSUdORUQoX18yTV9yd2RhdGFfZW5kLCAgIE1CKDIpKSwgIl9fMk1fcndkYXRhX2VuZCBtaXNh bGlnbmVkIikKKyNlbHNlCitBU1NFUlQoSVNfQUxJR05FRChfXzJNX3RleHRfZW5kLCAgICAgUEFH RV9TSVpFKSwgIl9fMk1fdGV4dF9lbmQgbWlzYWxpZ25lZCIpCitBU1NFUlQoSVNfQUxJR05FRChf XzJNX3JvZGF0YV9zdGFydCwgUEFHRV9TSVpFKSwgIl9fMk1fcm9kYXRhX3N0YXJ0IG1pc2FsaWdu ZWQiKQorQVNTRVJUKElTX0FMSUdORUQoX18yTV9yb2RhdGFfZW5kLCAgIFBBR0VfU0laRSksICJf XzJNX3JvZGF0YV9lbmQgbWlzYWxpZ25lZCIpCitBU1NFUlQoSVNfQUxJR05FRChfXzJNX2luaXRf c3RhcnQsICAgUEFHRV9TSVpFKSwgIl9fMk1faW5pdF9zdGFydCBtaXNhbGlnbmVkIikKK0FTU0VS VChJU19BTElHTkVEKF9fMk1faW5pdF9lbmQsICAgICBQQUdFX1NJWkUpLCAiX18yTV9pbml0X2Vu ZCBtaXNhbGlnbmVkIikKK0FTU0VSVChJU19BTElHTkVEKF9fMk1fcndkYXRhX3N0YXJ0LCBQQUdF X1NJWkUpLCAiX18yTV9yd2RhdGFfc3RhcnQgbWlzYWxpZ25lZCIpCitBU1NFUlQoSVNfQUxJR05F RChfXzJNX3J3ZGF0YV9lbmQsICAgUEFHRV9TSVpFKSwgIl9fMk1fcndkYXRhX2VuZCBtaXNhbGln bmVkIikKICNlbmRpZgogCiBBU1NFUlQoSVNfQUxJR05FRChjcHUwX3N0YWNrLCBTVEFDS19TSVpF KSwgImNwdTBfc3RhY2sgbWlzYWxpZ25lZCIpCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==