From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v3 07/13] xen/arm: Simplify alternative patching of non-writable region Date: Tue, 12 Jun 2018 17:17:59 -0400 Message-ID: <20180612211759.GC17709@char.us.oracle.com> References: <20180612113643.32020-1-julien.grall@arm.com> <20180612113643.32020-8-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fSqg5-0004ni-Jq for xen-devel@lists.xenproject.org; Tue, 12 Jun 2018 21:18:09 +0000 Content-Disposition: inline In-Reply-To: <20180612113643.32020-8-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, andre.przywara@arm.com List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBKdW4gMTIsIDIwMTggYXQgMTI6MzY6MzdQTSArMDEwMCwgSnVsaWVuIEdyYWxsIHdy b3RlOgo+IER1cmluZyB0aGUgTU1VIHNldHVwIHByb2Nlc3MsIFhlbiB3aWxsIHNldCBTQ1RMUl9F TDIuV05YCj4gKFdyaXRlLU5vbi1lWGVjdXRhYmxlKSBiaXQuIEJlY2F1c2Ugb2YgdGhhdCwgdGhl IGFsdGVybmF0aXZlIGNvZGUgbmVlZAo+IHRvIHJlLW1hcHBlZCB0aGUgcmVnaW9uIGluIGEgZGlm ZmVyZW5jZSBwbGFjZSBpbiBvcmRlciB0byBtb2RpZnkgdGhlCj4gdGV4dCBzZWN0aW9uLgo+IAo+ IEF0IHRoZSBtb21lbnQsIHRoZSBmdW5jdGlvbiBwYXRjaGluZyB0aGUgY29kZSBpcyBvbmx5IGF3 YXJlIG9mIHRoZQo+IHJlLW1hcHBlZCByZWdpb24uIFRoaXMgcmVxdWlyZXMgdGhlIGNhbGxlciB0 byBtZXNzIHdpdGggWGVuIGludGVybmFsIGluCj4gb3JkZXIgdG8gaGF2ZSBmdW5jdGlvbiBzdWNo IGFzIGlzX2FjdGl2ZV9rZXJuZWxfdGV4dCgpIHdvcmtpbmcuCj4gCj4gQWxsIHRoZSBpbnRlcmFj dGlvbnMgd2l0aCBYZW4gaW50ZXJuYWwgY2FuIGJlIHJlbW92ZWQgYnkgc3BlY2lmeWluZyB0aGUK PiBvZmZzZXQgYmV0d2VlbiB0aGUgcmVnaW9uIHBhdGNoIGFuZCB0aGUgd3JpdGFibGUgcmVnaW9u IGZvciB1cGRhdGluZyB0aGUKPiBpbnN0cnVjdGlvbgo+IAo+IFRoaXMgc2ltcGxpZmljYXRpb24g d2lsbCBhbHNvIG1ha2UgaXQgZWFzaWVyIHRvIGludGVncmF0ZSBkeW5hbWljIHBhdGNoaW5nCj4g aW4gYSBmb2xsb3ctdXAgcGF0Y2guIEluZGVlZCwgdGhlIGNhbGxiYWNrIGFkZHJlc3Mgc2hvdWxk IGJlIGluCj4gYW4gb3JpZ2luYWwgcmVnaW9uIGFuZCBub3QgcmUtbWFwcGVkIG9ubHkgd2hpY2gg aXMgd3JpdGVhYmxlIG5vbi1leGVjdXRhYmxlLgo+IAo+IFRoaXMgaXMgcGFydCBvZiBYU0EtMjYz Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+ Cj4gUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9y Zz4KPiAKPiAtLS0KPiAKPiBDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPgo+IAo+ICAgICBDaGFuZ2VzIGluIHYzOgo+ICAgICAgICAgLSBBZGQgc3RlZmFu bydzIHJldmlld2VkLWJ5Cj4gCj4gICAgIENoYW5nZXMgaW4gdjI6Cj4gICAgICAgICAtIEFkZCBj b21taXQgbWVzc2FnZQo+ICAgICAgICAgLSBSZW1vdmUgY29tbWVudCBpbiB0aGUgY29kZSB0aGF0 IGRvZXMgbm90IG1ha2Ugc2Vuc2UgYW55bW9yZQo+IC0tLQo+ICB4ZW4vYXJjaC9hcm0vYWx0ZXJu YXRpdmUuYyB8IDQyICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ ICAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9hbHRlcm5hdGl2ZS5jIGIveGVuL2FyY2gvYXJtL2Fs dGVybmF0aXZlLmMKPiBpbmRleCA5ZmZkYzQ3NWQ2Li45MzZjZjA0OTU2IDEwMDY0NAo+IC0tLSBh L3hlbi9hcmNoL2FybS9hbHRlcm5hdGl2ZS5jCj4gKysrIGIveGVuL2FyY2gvYXJtL2FsdGVybmF0 aXZlLmMKPiBAQCAtOTcsMTIgKzk3LDE2IEBAIHN0YXRpYyB1MzIgZ2V0X2FsdF9pbnNuKGNvbnN0 IHN0cnVjdCBhbHRfaW5zdHIgKmFsdCwKPiAgLyoKPiAgICogVGhlIHJlZ2lvbiBwYXRjaGVkIHNo b3VsZCBiZSByZWFkLXdyaXRlIHRvIGFsbG93IF9fYXBwbHlfYWx0ZXJuYXRpdmVzCj4gICAqIHRv IHJlcGxhY2luZyB0aGUgaW5zdHJ1Y3Rpb25zIHdoZW4gbmVjZXNzYXJ5Lgo+ICsgKgo+ICsgKiBA dXBkYXRlX29mZnNldDogT2Zmc2V0IGJldHdlZW4gdGhlIHJlZ2lvbiBwYXRjaGVkIGFuZCB0aGUg d3JpdGFibGUKPiArICogcmVnaW9uIGZvciB0aGUgdXBkYXRlLiAwIGlmIHRoZSBwYXRjaGVkIHJl Z2lvbiBpcyB3cml0YWJsZS4KPiAgICovCj4gLXN0YXRpYyBpbnQgX19hcHBseV9hbHRlcm5hdGl2 ZXMoY29uc3Qgc3RydWN0IGFsdF9yZWdpb24gKnJlZ2lvbikKPiArc3RhdGljIGludCBfX2FwcGx5 X2FsdGVybmF0aXZlcyhjb25zdCBzdHJ1Y3QgYWx0X3JlZ2lvbiAqcmVnaW9uLAo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRyX3QgdXBkYXRlX29mZnNldCkKPiAgewo+ICAg ICAgY29uc3Qgc3RydWN0IGFsdF9pbnN0ciAqYWx0Owo+IC0gICAgY29uc3QgdTMyICpyZXBscHRy Owo+IC0gICAgdTMyICpvcmlncHRyOwo+ICsgICAgY29uc3QgdTMyICpyZXBscHRyLCAqb3JpZ3B0 cjsKPiArICAgIHUzMiAqdXBkcHRyOwo+ICAKPiAgICAgIHByaW50ayhYRU5MT0dfSU5GTyAiYWx0 ZXJuYXRpdmVzOiBQYXRjaGluZyB3aXRoIGFsdCB0YWJsZSAlcCAtPiAlcFxuIiwKPiAgICAgICAg ICAgICByZWdpb24tPmJlZ2luLCByZWdpb24tPmVuZCk7Cj4gQEAgLTExOCw2ICsxMjIsNyBAQCBz dGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJuYXRpdmVzKGNvbnN0IHN0cnVjdCBhbHRfcmVnaW9uICpy ZWdpb24pCj4gICAgICAgICAgQlVHX09OKGFsdC0+YWx0X2xlbiAhPSBhbHQtPm9yaWdfbGVuKTsK PiAgCj4gICAgICAgICAgb3JpZ3B0ciA9IEFMVF9PUklHX1BUUihhbHQpOwo+ICsgICAgICAgIHVw ZHB0ciA9ICh2b2lkICopb3JpZ3B0ciArIHVwZGF0ZV9vZmZzZXQ7Cj4gICAgICAgICAgcmVwbHB0 ciA9IEFMVF9SRVBMX1BUUihhbHQpOwo+ICAKPiAgICAgICAgICBucl9pbnN0ID0gYWx0LT5hbHRf bGVuIC8gc2l6ZW9mKGluc24pOwo+IEBAIC0xMjUsNyArMTMwLDcgQEAgc3RhdGljIGludCBfX2Fw cGx5X2FsdGVybmF0aXZlcyhjb25zdCBzdHJ1Y3QgYWx0X3JlZ2lvbiAqcmVnaW9uKQo+ICAgICAg ICAgIGZvciAoIGkgPSAwOyBpIDwgbnJfaW5zdDsgaSsrICkKPiAgICAgICAgICB7Cj4gICAgICAg ICAgICAgIGluc24gPSBnZXRfYWx0X2luc24oYWx0LCBvcmlncHRyICsgaSwgcmVwbHB0ciArIGkp Owo+IC0gICAgICAgICAgICAqKG9yaWdwdHIgKyBpKSA9IGNwdV90b19sZTMyKGluc24pOwo+ICsg ICAgICAgICAgICAqKHVwZHB0ciArIGkpID0gY3B1X3RvX2xlMzIoaW5zbik7Cj4gICAgICAgICAg fQo+ICAKPiAgICAgICAgICAvKiBFbnN1cmUgdGhlIG5ldyBpbnN0cnVjdGlvbnMgcmVhY2hlZCB0 aGUgbWVtb3J5IGFuZCBudWtlICovCj4gQEAgLTE2Miw5ICsxNjcsNiBAQCBzdGF0aWMgaW50IF9f YXBwbHlfYWx0ZXJuYXRpdmVzX211bHRpX3N0b3Aodm9pZCAqdW51c2VkKQo+ICAgICAgICAgIHBh ZGRyX3QgeGVuX3NpemUgPSBfZW5kIC0gX3N0YXJ0Owo+ICAgICAgICAgIHVuc2lnbmVkIGludCB4 ZW5fb3JkZXIgPSBnZXRfb3JkZXJfZnJvbV9ieXRlcyh4ZW5fc2l6ZSk7Cj4gICAgICAgICAgdm9p ZCAqeGVubWFwOwo+IC0gICAgICAgIHN0cnVjdCB2aXJ0dWFsX3JlZ2lvbiBwYXRjaF9yZWdpb24g PSB7Cj4gLSAgICAgICAgICAgIC5saXN0ID0gTElTVF9IRUFEX0lOSVQocGF0Y2hfcmVnaW9uLmxp c3QpLAo+IC0gICAgICAgIH07Cj4gIAo+ICAgICAgICAgIEJVR19PTihwYXRjaGVkKTsKPiAgCj4g QEAgLTE3NywzMSArMTc5LDEzIEBAIHN0YXRpYyBpbnQgX19hcHBseV9hbHRlcm5hdGl2ZXNfbXVs dGlfc3RvcCh2b2lkICp1bnVzZWQpCj4gICAgICAgICAgLyogUmUtbWFwcGluZyBYZW4gaXMgbm90 IGV4cGVjdGVkIHRvIGZhaWwgZHVyaW5nIGJvb3QuICovCj4gICAgICAgICAgQlVHX09OKCF4ZW5t YXApOwo+ICAKPiAtICAgICAgICAvKgo+IC0gICAgICAgICAqIElmIHdlIGdlbmVyYXRlIGEgbmV3 IGJyYW5jaCBpbnN0cnVjdGlvbiwgdGhlIHRhcmdldCB3aWxsIGJlCj4gLSAgICAgICAgICogY2Fs Y3VsYXRlZCBpbiB0aGlzIHJlLW1hcHBlZCBYZW4gcmVnaW9uLiBTbyB3ZSBoYXZlIHRvIHJlZ2lz dGVyCj4gLSAgICAgICAgICogdGhpcyByZS1tYXBwZWQgWGVuIHJlZ2lvbiBhcyBhIHZpcnR1YWwg cmVnaW9uIHRlbXBvcmFyaWx5LgoKV2hhdCBhYm91dCB0aGlzPwoKV29uJ3QgdGhpcyBtZWFuIHRo ZSB0cmFwcyAoaWYgdGhlcmUgYXJlIGFueSkgd29uJ3QgYmUgcmVjb2duaXplZCBhdCBhbGwKZHVy aW5nIHRoaXMgcGF0Y2hpbmc/Cgo+IC0gICAgICAgICAqLwo+IC0gICAgICAgIHBhdGNoX3JlZ2lv bi5zdGFydCA9IHhlbm1hcDsKPiAtICAgICAgICBwYXRjaF9yZWdpb24uZW5kID0geGVubWFwICsg eGVuX3NpemU7Cj4gLSAgICAgICAgcmVnaXN0ZXJfdmlydHVhbF9yZWdpb24oJnBhdGNoX3JlZ2lv bik7Cj4gKyAgICAgICAgcmVnaW9uLmJlZ2luID0gX19hbHRfaW5zdHJ1Y3Rpb25zOwo+ICsgICAg ICAgIHJlZ2lvbi5lbmQgPSBfX2FsdF9pbnN0cnVjdGlvbnNfZW5kOwo+ICAKPiAtICAgICAgICAv Kgo+IC0gICAgICAgICAqIEZpbmQgdGhlIHZpcnR1YWwgYWRkcmVzcyBvZiB0aGUgYWx0ZXJuYXRp dmUgcmVnaW9uIGluIHRoZSBuZXcKPiAtICAgICAgICAgKiBtYXBwaW5nLgo+IC0gICAgICAgICAq IGFsdF9pbnN0ciBjb250YWlucyByZWxhdGl2ZSBvZmZzZXQsIHNvIHRoZSBmdW5jdGlvbgo+IC0g ICAgICAgICAqIF9fYXBwbHlfYWx0ZXJuYXRpdmVzIHdpbGwgcGF0Y2ggaW4gdGhlIHJlLW1hcHBl ZCB2ZXJzaW9uIG9mCj4gLSAgICAgICAgICogWGVuLgo+IC0gICAgICAgICAqLwo+IC0gICAgICAg IHJlZ2lvbi5iZWdpbiA9ICh2b2lkICopX19hbHRfaW5zdHJ1Y3Rpb25zIC0gKHZvaWQgKilfc3Rh cnQgKyB4ZW5tYXA7Cj4gLSAgICAgICAgcmVnaW9uLmVuZCA9ICh2b2lkICopX19hbHRfaW5zdHJ1 Y3Rpb25zX2VuZCAtICh2b2lkICopX3N0YXJ0ICsgeGVubWFwOwo+IC0KPiAtICAgICAgICByZXQg PSBfX2FwcGx5X2FsdGVybmF0aXZlcygmcmVnaW9uKTsKPiArICAgICAgICByZXQgPSBfX2FwcGx5 X2FsdGVybmF0aXZlcygmcmVnaW9uLCB4ZW5tYXAgLSAodm9pZCAqKV9zdGFydCk7Cj4gICAgICAg ICAgLyogVGhlIHBhdGNoaW5nIGlzIG5vdCBleHBlY3RlZCB0byBmYWlsIGR1cmluZyBib290LiAq Lwo+ICAgICAgICAgIEJVR19PTihyZXQgIT0gMCk7Cj4gIAo+IC0gICAgICAgIHVucmVnaXN0ZXJf dmlydHVhbF9yZWdpb24oJnBhdGNoX3JlZ2lvbik7Cj4gLQo+ICAgICAgICAgIHZ1bm1hcCh4ZW5t YXApOwo+ICAKPiAgICAgICAgICAvKiBCYXJyaWVycyBwcm92aWRlZCBieSB0aGUgY2FjaGUgZmx1 c2hpbmcgKi8KPiBAQCAtMjM1LDcgKzIxOSw3IEBAIGludCBhcHBseV9hbHRlcm5hdGl2ZXMoY29u c3Qgc3RydWN0IGFsdF9pbnN0ciAqc3RhcnQsIGNvbnN0IHN0cnVjdCBhbHRfaW5zdHIgKmVuCj4g ICAgICAgICAgLmVuZCA9IGVuZCwKPiAgICAgIH07Cj4gIAo+IC0gICAgcmV0dXJuIF9fYXBwbHlf YWx0ZXJuYXRpdmVzKCZyZWdpb24pOwo+ICsgICAgcmV0dXJuIF9fYXBwbHlfYWx0ZXJuYXRpdmVz KCZyZWdpb24sIDApOwo+ICB9Cj4gIAo+ICAvKgo+IC0tIAo+IDIuMTEuMAo+IAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==