From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tamas K Lengyel Subject: Re: [PATCH v4] x86/altp2m: Add a subop for obtaining the mem access of a page Date: Wed, 19 Sep 2018 09:29:04 -0600 Message-ID: References: <20180903154734.25361-1-apop@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g2eQE-0008IK-14 for xen-devel@lists.xenproject.org; Wed, 19 Sep 2018 15:29:46 +0000 Received: by mail-ed1-f65.google.com with SMTP id d8-v6so5284135edv.0 for ; Wed, 19 Sep 2018 08:29:44 -0700 (PDT) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com. [209.85.128.42]) by smtp.gmail.com with ESMTPSA id d35-v6sm1344247eda.25.2018.09.19.08.29.42 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Sep 2018 08:29:42 -0700 (PDT) Received: by mail-wm1-f42.google.com with SMTP id y2-v6so6758697wma.1 for ; Wed, 19 Sep 2018 08:29:42 -0700 (PDT) In-Reply-To: <20180903154734.25361-1-apop@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Adrian Pop Cc: Stefano Stabellini , Wei Liu , Razvan Cojocaru , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Sergej Proskurin , Xen-devel List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBTZXAgMywgMjAxOCBhdCA5OjQ3IEFNIEFkcmlhbiBQb3AgPGFwb3BAYml0ZGVmZW5k ZXIuY29tPiB3cm90ZToKPgo+IEN1cnJlbnRseSB0aGVyZSBpcyBhIHN1Ym9wIGZvciBzZXR0aW5n IHRoZSBtZW1hY2Nlc3Mgb2YgYSBwYWdlLCBidXQgbm90Cj4gZm9yIGNvbnN1bHRpbmcgaXQuICBU aGUgbmV3IEhWTU9QX2FsdHAybV9nZXRfbWVtX2FjY2VzcyBhZGRzIHRoaXMKPiBmdW5jdGlvbmFs aXR5Lgo+Cj4gQm90aCBhbHRwMm0gZ2V0L3NldCBtZW0gYWNjZXNzIGZ1bmN0aW9ucyB1c2UgdGhl IHN0cnVjdAo+IHhlbl9odm1fYWx0cDJtX21lbV9hY2Nlc3Mgd2hpY2ggaGFzIG5vdyBkcm9wcGVk IHRoZSBgc2V0JyBwYXJ0IGFuZCBoYXMKPiBiZWVuIHJlbmFtZWQgZnJvbSB4ZW5faHZtX2FsdHAy bV9zZXRfbWVtX2FjY2Vzcy4KPgo+IFNpZ25lZC1vZmYtYnk6IEFkcmlhbiBQb3AgPGFwb3BAYml0 ZGVmZW5kZXIuY29tPgo+IC0tLQo+IENoYW5nZXMgaW4gdjQ6Cj4gLSBkb24ndCBicmVhayB0aGUg c3RhYmxlIGludGVyZmFjZQo+Cj4gQ2hhbmdlcyBpbiB2MzoKPiAtIHJlbW92ZSB0aGUgdW5yZWxh dGVkIGhlbHBlciBmdW5jdGlvbgo+IC0gc2ltcGxpZnkgdGhlIGxvY2tpbmcgaW4gcDJtX2dldF9t ZW1fYWNjZXNzCj4KPiBDaGFuZ2VzIGluIHYyOgo+IC0gdXNlIHRoZSBfcDJtX2dldF9tZW1fYWNj ZXNzIGhlbHBlciBmcm9tIHAybV9nZXRfbWVtX2FjY2Vzcwo+IC0gbWlub3IgQXJtIGFkanVzdG1l bnRzCj4gLSBtb3ZlIG91dCB0aGUgYWRkaXRpb24gb2YgYSBtZW1hY2Nlc3MgaGVscGVyIGZ1bmN0 aW9uIHRvIGEgc2VwYXJhdGUKPiAgIHBhdGNoIGluIHRoZSBhdHRlbXB0cyBvZiBtYWtpbmcgdGhl IGRpZmYgY2xlYXJlcgo+IC0tLQo+ICB0b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCAgIHwg IDMgKysrCj4gIHRvb2xzL2xpYnhjL3hjX2FsdHAybS5jICAgICAgICAgfCAzMyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gvYXJtL21lbV9hY2Nlc3MuYyAgICAg ICB8ICA4ICsrKysrKy0tCj4gIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAgICAgfCAyNyAr KysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgeGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3Mu YyAgICB8IDIxICsrKysrKysrKysrKysrKysrKystLQo+ICB4ZW4vY29tbW9uL21lbV9hY2Nlc3Mu YyAgICAgICAgIHwgIDIgKy0KPiAgeGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaCB8IDE5 ICsrKysrKysrKysrKysrKysrKysKPiAgeGVuL2luY2x1ZGUvcHVibGljL3hlbi1jb21wYXQuaCB8 ICAyICstCj4gIHhlbi9pbmNsdWRlL3hlbi9tZW1fYWNjZXNzLmggICAgfCAgMyArKy0KPiAgOSBm aWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPgo+IGRpZmYg LS1naXQgYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1 ZGUveGVuY3RybC5oCj4gaW5kZXggYzYyNjk4NGFiYS4uYWUyOTg4OTlmYyAxMDA2NDQKPiAtLS0g YS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAo+ICsrKyBiL3Rvb2xzL2xpYnhjL2luY2x1 ZGUveGVuY3RybC5oCj4gQEAgLTE5NTgsNiArMTk1OCw5IEBAIGludCB4Y19hbHRwMm1fc2V0X21l bV9hY2Nlc3MoeGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAo+ICBpbnQgeGNf YWx0cDJtX3NldF9tZW1fYWNjZXNzX211bHRpKHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJf dCBkb21pZCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCB2 aWV3X2lkLCB1aW50OF90ICphY2Nlc3MsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgKmdmbnMsIHVpbnQzMl90IG5yKTsKPiAraW50IHhjX2FsdHAybV9nZXRf bWVtX2FjY2Vzcyh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9taWQsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDE2X3Qgdmlld19pZCwgeGVuX3Bmbl90IGdmbiwK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5tZW1fYWNjZXNzX3QgKmFjY2Vzcyk7 Cj4gIGludCB4Y19hbHRwMm1fY2hhbmdlX2dmbih4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMy X3QgZG9taWQsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCB2aWV3X2lkLCB4 ZW5fcGZuX3Qgb2xkX2dmbiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5fdCBu ZXdfZ2ZuKTsKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfYWx0cDJtLmMgYi90b29scy9s aWJ4Yy94Y19hbHRwMm0uYwo+IGluZGV4IGNlNGExZTRkNjAuLjUzNzU0ZmY2ZDMgMTAwNjQ0Cj4g LS0tIGEvdG9vbHMvbGlieGMveGNfYWx0cDJtLmMKPiArKysgYi90b29scy9saWJ4Yy94Y19hbHRw Mm0uYwo+IEBAIC0xNzcsOSArMTc3LDE1IEBAIGludCB4Y19hbHRwMm1fc2V0X21lbV9hY2Nlc3Mo eGNfaW50ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAo+ICAgICAgYXJnLT52ZXJzaW9u ID0gSFZNT1BfQUxUUDJNX0lOVEVSRkFDRV9WRVJTSU9OOwo+ICAgICAgYXJnLT5jbWQgPSBIVk1P UF9hbHRwMm1fc2V0X21lbV9hY2Nlc3M7Cj4gICAgICBhcmctPmRvbWFpbiA9IGRvbWlkOwo+ICsj aWYgX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA8IDB4MDAwNDBhMDAKPiAgICAgIGFyZy0+dS5z ZXRfbWVtX2FjY2Vzcy52aWV3ID0gdmlld19pZDsKPiAgICAgIGFyZy0+dS5zZXRfbWVtX2FjY2Vz cy5odm1tZW1fYWNjZXNzID0gYWNjZXNzOwo+ICAgICAgYXJnLT51LnNldF9tZW1fYWNjZXNzLmdm biA9IGdmbjsKPiArI2Vsc2UgLyogX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA+PSAweDAwMDQw YTAwICovCj4gKyAgICBhcmctPnUubWVtX2FjY2Vzcy52aWV3ID0gdmlld19pZDsKPiArICAgIGFy Zy0+dS5tZW1fYWNjZXNzLmh2bW1lbV9hY2Nlc3MgPSBhY2Nlc3M7Cj4gKyAgICBhcmctPnUubWVt X2FjY2Vzcy5nZm4gPSBnZm47Cj4gKyNlbmRpZgo+Cj4gICAgICByYyA9IHhlbmNhbGwyKGhhbmRs ZS0+eGNhbGwsIF9fSFlQRVJWSVNPUl9odm1fb3AsIEhWTU9QX2FsdHAybSwKPiAgICAgICAgICAg ICAgICAgICBIWVBFUkNBTExfQlVGRkVSX0FTX0FSRyhhcmcpKTsKPiBAQCAtMjU0LDMgKzI2MCwz MCBAQCBpbnQgeGNfYWx0cDJtX3NldF9tZW1fYWNjZXNzX211bHRpKHhjX2ludGVyZmFjZSAqeGNo LCB1aW50MzJfdCBkb21pZCwKPgo+ICAgICAgcmV0dXJuIHJjOwo+ICB9Cj4gKwo+ICtpbnQgeGNf YWx0cDJtX2dldF9tZW1fYWNjZXNzKHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb21p ZCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCB2aWV3X2lkLCB4ZW5f cGZuX3QgZ2ZuLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhlbm1lbV9hY2Nlc3Nf dCAqYWNjZXNzKQo+ICt7Cj4gKyAgICBpbnQgcmM7Cj4gKyAgICBERUNMQVJFX0hZUEVSQ0FMTF9C VUZGRVIoeGVuX2h2bV9hbHRwMm1fb3BfdCwgYXJnKTsKPiArCj4gKyAgICBhcmcgPSB4Y19oeXBl cmNhbGxfYnVmZmVyX2FsbG9jKGhhbmRsZSwgYXJnLCBzaXplb2YoKmFyZykpOwo+ICsgICAgaWYg KCBhcmcgPT0gTlVMTCApCj4gKyAgICAgICAgcmV0dXJuIC0xOwo+ICsKPiArICAgIGFyZy0+dmVy c2lvbiA9IEhWTU9QX0FMVFAyTV9JTlRFUkZBQ0VfVkVSU0lPTjsKPiArICAgIGFyZy0+Y21kID0g SFZNT1BfYWx0cDJtX2dldF9tZW1fYWNjZXNzOwo+ICsgICAgYXJnLT5kb21haW4gPSBkb21pZDsK PiArICAgIGFyZy0+dS5tZW1fYWNjZXNzLnZpZXcgPSB2aWV3X2lkOwo+ICsgICAgYXJnLT51Lm1l bV9hY2Nlc3MuZ2ZuID0gZ2ZuOwo+ICsKPiArICAgIHJjID0geGVuY2FsbDIoaGFuZGxlLT54Y2Fs bCwgX19IWVBFUlZJU09SX2h2bV9vcCwgSFZNT1BfYWx0cDJtLAo+ICsgICAgICAgICAgICAgICAg IEhZUEVSQ0FMTF9CVUZGRVJfQVNfQVJHKGFyZykpOwo+ICsKPiArICAgIGlmICggIXJjICkKPiAr ICAgICAgICAqYWNjZXNzID0gYXJnLT51Lm1lbV9hY2Nlc3MuaHZtbWVtX2FjY2VzczsKPiArCj4g KyAgICB4Y19oeXBlcmNhbGxfYnVmZmVyX2ZyZWUoaGFuZGxlLCBhcmcpOwo+ICsgICAgcmV0dXJu IHJjOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9tZW1fYWNjZXNzLmMgYi94ZW4v YXJjaC9hcm0vbWVtX2FjY2Vzcy5jCj4gaW5kZXggYmE0ZWM3ODBmZC4uMTc4YmMxYTZjMSAxMDA2 NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vbWVtX2FjY2Vzcy5jCj4gKysrIGIveGVuL2FyY2gvYXJt L21lbV9hY2Nlc3MuYwo+IEBAIC0yMzYsNyArMjM2LDcgQEAgYm9vbCBwMm1fbWVtX2FjY2Vzc19j aGVjayhwYWRkcl90IGdwYSwgdmFkZHJfdCBnbGEsIGNvbnN0IHN0cnVjdCBucGZlYyBucGZlYykK PiAgICAgIGlmICggIXAybS0+bWVtX2FjY2Vzc19lbmFibGVkICkKPiAgICAgICAgICByZXR1cm4g dHJ1ZTsKPgo+IC0gICAgcmMgPSBwMm1fZ2V0X21lbV9hY2Nlc3Modi0+ZG9tYWluLCBnYWRkcl90 b19nZm4oZ3BhKSwgJnhtYSk7Cj4gKyAgICByYyA9IHAybV9nZXRfbWVtX2FjY2Vzcyh2LT5kb21h aW4sIGdhZGRyX3RvX2dmbihncGEpLCAmeG1hLCAwKTsKPiAgICAgIGlmICggcmMgKQo+ICAgICAg ICAgIHJldHVybiB0cnVlOwo+Cj4gQEAgLTQ0MSwxMSArNDQxLDE1IEBAIGxvbmcgcDJtX3NldF9t ZW1fYWNjZXNzX211bHRpKHN0cnVjdCBkb21haW4gKmQsCj4gIH0KPgo+ICBpbnQgcDJtX2dldF9t ZW1fYWNjZXNzKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwKPiAtICAgICAgICAgICAgICAg ICAgICAgICB4ZW5tZW1fYWNjZXNzX3QgKmFjY2VzcykKPiArICAgICAgICAgICAgICAgICAgICAg ICB4ZW5tZW1fYWNjZXNzX3QgKmFjY2VzcywgdW5zaWduZWQgaW50IGFsdHAybV9pZHgpCj4gIHsK PiAgICAgIGludCByZXQ7Cj4gICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9o b3N0cDJtKGQpOwo+Cj4gKyAgICAvKiBhbHRwMm0gaXMgbm90IHlldCBpbXBsZW1lbnRlZCBvbiBB cm0uIFRoZSBhbHRwMm1faWR4IHNob3VsZCBiZSAwLiAqLwoKSnVzdCB1c2UgQVNTRVJUIGhlcmUu Cgo+ICsgICAgaWYgKCBhbHRwMm1faWR4ICkKPiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAr Cj4gICAgICBwMm1fcmVhZF9sb2NrKHAybSk7Cj4gICAgICByZXQgPSBfX3AybV9nZXRfbWVtX2Fj Y2VzcyhkLCBnZm4sIGFjY2Vzcyk7Cj4gICAgICBwMm1fcmVhZF91bmxvY2socDJtKTsKPiBkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK PiBpbmRleCA3MmM1MWZhZWNiLi40NjBjOWY3ZDRmIDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL3g4 Ni9odm0vaHZtLmMKPiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCj4gQEAgLTQ1MjYsNiAr NDUyNiw3IEBAIHN0YXRpYyBpbnQgZG9fYWx0cDJtX29wKAo+ICAgICAgY2FzZSBIVk1PUF9hbHRw Mm1fc3dpdGNoX3AybToKPiAgICAgIGNhc2UgSFZNT1BfYWx0cDJtX3NldF9tZW1fYWNjZXNzOgo+ ICAgICAgY2FzZSBIVk1PUF9hbHRwMm1fc2V0X21lbV9hY2Nlc3NfbXVsdGk6Cj4gKyAgICBjYXNl IEhWTU9QX2FsdHAybV9nZXRfbWVtX2FjY2VzczoKPiAgICAgIGNhc2UgSFZNT1BfYWx0cDJtX2No YW5nZV9nZm46Cj4gICAgICAgICAgYnJlYWs7Cj4KPiBAQCAtNDY0MiwxMiArNDY0MywyMSBAQCBz dGF0aWMgaW50IGRvX2FsdHAybV9vcCgKPiAgICAgICAgICBicmVhazsKPgo+ICAgICAgY2FzZSBI Vk1PUF9hbHRwMm1fc2V0X21lbV9hY2Nlc3M6Cj4gKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lP Tl9fIDwgMHgwMDA0MGEwMAo+ICAgICAgICAgIGlmICggYS51LnNldF9tZW1fYWNjZXNzLnBhZCAp Cj4gICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKPiAgICAgICAgICBlbHNlCj4gICAgICAgICAg ICAgIHJjID0gcDJtX3NldF9tZW1fYWNjZXNzKGQsIF9nZm4oYS51LnNldF9tZW1fYWNjZXNzLmdm biksIDEsIDAsIDAsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEudS5z ZXRfbWVtX2FjY2Vzcy5odm1tZW1fYWNjZXNzLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhLnUuc2V0X21lbV9hY2Nlc3Mudmlldyk7Cj4gKyNlbHNlIC8qIF9fWEVOX0lO VEVSRkFDRV9WRVJTSU9OX18gPj0gMHgwMDA0MGEwMCAqLwo+ICsgICAgICAgIGlmICggYS51Lm1l bV9hY2Nlc3MucGFkICkKPiArICAgICAgICAgICAgcmMgPSAtRUlOVkFMOwo+ICsgICAgICAgIGVs c2UKPiArICAgICAgICAgICAgcmMgPSBwMm1fc2V0X21lbV9hY2Nlc3MoZCwgX2dmbihhLnUubWVt X2FjY2Vzcy5nZm4pLCAxLCAwLCAwLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhLnUubWVtX2FjY2Vzcy5odm1tZW1fYWNjZXNzLAo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhLnUubWVtX2FjY2Vzcy52aWV3KTsKPiArI2VuZGlmCj4gICAgICAg ICAgYnJlYWs7Cj4KPiAgICAgIGNhc2UgSFZNT1BfYWx0cDJtX3NldF9tZW1fYWNjZXNzX211bHRp Ogo+IEBAIC00NjgzLDYgKzQ2OTMsMjMgQEAgc3RhdGljIGludCBkb19hbHRwMm1fb3AoCj4gICAg ICAgICAgfQo+ICAgICAgICAgIGJyZWFrOwo+Cj4gKyAgICBjYXNlIEhWTU9QX2FsdHAybV9nZXRf bWVtX2FjY2VzczoKPiArICAgICAgICBpZiAoIGEudS5tZW1fYWNjZXNzLnBhZCApCj4gKyAgICAg ICAgICAgIHJjID0gLUVJTlZBTDsKPiArICAgICAgICBlbHNlCj4gKyAgICAgICAgewo+ICsgICAg ICAgICAgICB4ZW5tZW1fYWNjZXNzX3QgYWNjZXNzOwo+ICsKPiArICAgICAgICAgICAgcmMgPSBw Mm1fZ2V0X21lbV9hY2Nlc3MoZCwgX2dmbihhLnUubWVtX2FjY2Vzcy5nZm4pLCAmYWNjZXNzLAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLnUubWVtX2FjY2Vzcy52aWV3 KTsKPiArICAgICAgICAgICAgaWYgKCAhcmMgKQo+ICsgICAgICAgICAgICB7Cj4gKyAgICAgICAg ICAgICAgICBhLnUubWVtX2FjY2Vzcy5odm1tZW1fYWNjZXNzID0gYWNjZXNzOwo+ICsgICAgICAg ICAgICAgICAgcmMgPSBfX2NvcHlfdG9fZ3Vlc3QoYXJnLCAmYSwgMSkgPyAtRUZBVUxUIDogMDsK PiArICAgICAgICAgICAgfQo+ICsgICAgICAgIH0KPiArICAgICAgICBicmVhazsKPiArCj4gICAg ICBjYXNlIEhWTU9QX2FsdHAybV9jaGFuZ2VfZ2ZuOgo+ICAgICAgICAgIGlmICggYS51LmNoYW5n ZV9nZm4ucGFkMSB8fCBhLnUuY2hhbmdlX2dmbi5wYWQyICkKPiAgICAgICAgICAgICAgcmMgPSAt RUlOVkFMOwo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jIGIveGVu L2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYwo+IGluZGV4IDg0ZDI2MGViZDguLjc4YWJkYWVkMzYg MTAwNjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYwo+ICsrKyBiL3hlbi9h cmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMKPiBAQCAtNDY5LDkgKzQ2OSwyNiBAQCBsb25nIHAybV9z ZXRfbWVtX2FjY2Vzc19tdWx0aShzdHJ1Y3QgZG9tYWluICpkLAo+ICAgICAgcmV0dXJuIHJjOwo+ ICB9Cj4KPiAtaW50IHAybV9nZXRfbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBn Zm4sIHhlbm1lbV9hY2Nlc3NfdCAqYWNjZXNzKQo+ICtpbnQgcDJtX2dldF9tZW1fYWNjZXNzKHN0 cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgeGVubWVtX2FjY2Vzc190ICphY2Nlc3MsCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGFsdHAybV9pZHgpCj4gIHsKPiAtICAg IHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7Cj4gKyAgICBzdHJ1 Y3QgcDJtX2RvbWFpbiAqcDJtOwo+ICsKPiArICAgIGlmICggIWFsdHAybV9hY3RpdmUoZCkgKQo+ ICsgICAgewo+ICsgICAgICAgIGlmICggYWx0cDJtX2lkeCApCj4gKyAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwo+ICsKPiArICAgICAgICBwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7Cj4gKyAg ICB9Cj4gKyAgICBlbHNlCj4gKyAgICB7Cj4gKyAgICAgICAgaWYgKCBhbHRwMm1faWR4ID49IE1B WF9BTFRQMk0gfHwKPiArICAgICAgICAgICAgIGQtPmFyY2guYWx0cDJtX2VwdHBbYWx0cDJtX2lk eF0gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKPiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 Cj4gKwo+ICsgICAgICAgIHAybSA9IGQtPmFyY2guYWx0cDJtX3AybVthbHRwMm1faWR4XTsKPiAr ICAgIH0KPgo+ICAgICAgcmV0dXJuIF9wMm1fZ2V0X21lbV9hY2Nlc3MocDJtLCBnZm4sIGFjY2Vz cyk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1fYWNjZXNzLmMgYi94ZW4vY29t bW9uL21lbV9hY2Nlc3MuYwo+IGluZGV4IDFiZjY4MjQ0NDIuLjAxMGU2ZjhkYmYgMTAwNjQ0Cj4g LS0tIGEveGVuL2NvbW1vbi9tZW1fYWNjZXNzLmMKPiArKysgYi94ZW4vY29tbW9uL21lbV9hY2Nl c3MuYwo+IEBAIC05OSw3ICs5OSw3IEBAIGludCBtZW1fYWNjZXNzX21lbW9wKHVuc2lnbmVkIGxv bmcgY21kLAo+ICAgICAgICAgIGlmICggKG1hby5wZm4gPiBkb21haW5fZ2V0X21heGltdW1fZ3Bm bihkKSkgJiYgbWFvLnBmbiAhPSB+MHVsbCApCj4gICAgICAgICAgICAgIGJyZWFrOwo+Cj4gLSAg ICAgICAgcmMgPSBwMm1fZ2V0X21lbV9hY2Nlc3MoZCwgX2dmbihtYW8ucGZuKSwgJmFjY2Vzcyk7 Cj4gKyAgICAgICAgcmMgPSBwMm1fZ2V0X21lbV9hY2Nlc3MoZCwgX2dmbihtYW8ucGZuKSwgJmFj Y2VzcywgMCk7Cj4gICAgICAgICAgaWYgKCByYyAhPSAwICkKPiAgICAgICAgICAgICAgYnJlYWs7 Cj4KPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaCBiL3hlbi9p bmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPiBpbmRleCBiYmJhOTllNWY1Li5iYmIwYWE5ODRh IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKPiArKysgYi94 ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCj4gQEAgLTIzNCw2ICsyMzQsNyBAQCBzdHJ1 Y3QgeGVuX2h2bV9hbHRwMm1fdmlldyB7Cj4gIHR5cGVkZWYgc3RydWN0IHhlbl9odm1fYWx0cDJt X3ZpZXcgeGVuX2h2bV9hbHRwMm1fdmlld190Owo+ICBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4 ZW5faHZtX2FsdHAybV92aWV3X3QpOwo+Cj4gKyNpZiBfX1hFTl9JTlRFUkZBQ0VfVkVSU0lPTl9f IDwgMHgwMDA0MGEwMAo+ICBzdHJ1Y3QgeGVuX2h2bV9hbHRwMm1fc2V0X21lbV9hY2Nlc3Mgewo+ ICAgICAgLyogdmlldyAqLwo+ICAgICAgdWludDE2X3QgdmlldzsKPiBAQCAtMjQ1LDYgKzI0Niwx OSBAQCBzdHJ1Y3QgeGVuX2h2bV9hbHRwMm1fc2V0X21lbV9hY2Nlc3Mgewo+ICB9Owo+ICB0eXBl ZGVmIHN0cnVjdCB4ZW5faHZtX2FsdHAybV9zZXRfbWVtX2FjY2VzcyB4ZW5faHZtX2FsdHAybV9z ZXRfbWVtX2FjY2Vzc190Owo+ICBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5faHZtX2FsdHAy bV9zZXRfbWVtX2FjY2Vzc190KTsKPiArI2VuZGlmIC8qIF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9O X18gPCAweDAwMDQwYTAwICovCj4gKwo+ICtzdHJ1Y3QgeGVuX2h2bV9hbHRwMm1fbWVtX2FjY2Vz cyB7Cj4gKyAgICAvKiB2aWV3ICovCj4gKyAgICB1aW50MTZfdCB2aWV3Owo+ICsgICAgLyogTWVt b3J5IHR5cGUgKi8KPiArICAgIHVpbnQxNl90IGh2bW1lbV9hY2Nlc3M7IC8qIHhlbm1lbV9hY2Nl c3NfdCAqLwoKQSBzdHJ1Y3R1cmUgbmFtZSB3aXRoICJtZW1fYWNjZXNzIiBoYXZpbmcgYSB2YXJp YWJsZSBuYW1lCiJodm1tZW1fYWNjZXNzIiBhbmQgYSBjb21tZW50IHNheWluZyAieGVubWVtX2Fj Y2VzcyIuIFRoaXMgaXMKY29uZnVzaW5nLiBJIHVuZGVyc3RhbmQgdGhhdCB5b3UgY29weS9wYXN0 ZWQgdGhpcyBmcm9tIHRoZSBleGlzdGluZyBvcApidXQgaXQgZG9lc24ndCBsb29rIGdvb2QuIFBl cmhhcHMgZml4IGJvdGggaWYgd2UgYXJlIHRvdWNoaW5nIGl0PwpBbHNvLCBpbiBwdWJsaWMvbWVt b3J5LmggdGhlIHdpZHRoIG9mIGFjY2VzcyBpcyB1aW50OF90IHNvIEknbSBub3QKc3VyZSB3aHkg dGhlIGRpc2NyZXBhbmN5LgoKPiArICAgIHVpbnQzMl90IHBhZDsKPiArICAgIC8qIGdmbiAqLwo+ ICsgICAgdWludDY0X3QgZ2ZuOwo+ICt9Owo+ICt0eXBlZGVmIHN0cnVjdCB4ZW5faHZtX2FsdHAy bV9tZW1fYWNjZXNzIHhlbl9odm1fYWx0cDJtX21lbV9hY2Nlc3NfdDsKPiArREVGSU5FX1hFTl9H VUVTVF9IQU5ETEUoeGVuX2h2bV9hbHRwMm1fbWVtX2FjY2Vzc190KTsKPgo+ICBzdHJ1Y3QgeGVu X2h2bV9hbHRwMm1fc2V0X21lbV9hY2Nlc3NfbXVsdGkgewo+ICAgICAgLyogdmlldyAqLwo+IEBA IC0yOTYsNiArMzEwLDggQEAgc3RydWN0IHhlbl9odm1fYWx0cDJtX29wIHsKPiAgI2RlZmluZSBI Vk1PUF9hbHRwMm1fY2hhbmdlX2dmbiAgICAgICAgICAgOAo+ICAvKiBTZXQgYWNjZXNzIGZvciBh biBhcnJheSBvZiBwYWdlcyAqLwo+ICAjZGVmaW5lIEhWTU9QX2FsdHAybV9zZXRfbWVtX2FjY2Vz c19tdWx0aSA5Cj4gKy8qIEdldCB0aGUgYWNjZXNzIG9mIGEgcGFnZSBvZiBtZW1vcnkgZnJvbSBh IGNlcnRhaW4gdmlldyAqLwo+ICsjZGVmaW5lIEhWTU9QX2FsdHAybV9nZXRfbWVtX2FjY2VzcyAg ICAgICAxMAo+ICAgICAgZG9taWRfdCBkb21haW47Cj4gICAgICB1aW50MTZfdCBwYWQxOwo+ICAg ICAgdWludDMyX3QgcGFkMjsKPiBAQCAtMzAzLDcgKzMxOSwxMCBAQCBzdHJ1Y3QgeGVuX2h2bV9h bHRwMm1fb3Agewo+ICAgICAgICAgIHN0cnVjdCB4ZW5faHZtX2FsdHAybV9kb21haW5fc3RhdGUg ICAgICAgICBkb21haW5fc3RhdGU7Cj4gICAgICAgICAgc3RydWN0IHhlbl9odm1fYWx0cDJtX3Zj cHVfZW5hYmxlX25vdGlmeSAgIGVuYWJsZV9ub3RpZnk7Cj4gICAgICAgICAgc3RydWN0IHhlbl9o dm1fYWx0cDJtX3ZpZXcgICAgICAgICAgICAgICAgIHZpZXc7Cj4gKyNpZiBfX1hFTl9JTlRFUkZB Q0VfVkVSU0lPTl9fIDwgMHgwMDA0MGEwMAo+ICAgICAgICAgIHN0cnVjdCB4ZW5faHZtX2FsdHAy bV9zZXRfbWVtX2FjY2VzcyAgICAgICBzZXRfbWVtX2FjY2VzczsKPiArI2VuZGlmIC8qIF9fWEVO X0lOVEVSRkFDRV9WRVJTSU9OX18gPCAweDAwMDQwYTAwICovCj4gKyAgICAgICAgc3RydWN0IHhl bl9odm1fYWx0cDJtX21lbV9hY2Nlc3MgICAgICAgICAgIG1lbV9hY2Nlc3M7Cj4gICAgICAgICAg c3RydWN0IHhlbl9odm1fYWx0cDJtX2NoYW5nZV9nZm4gICAgICAgICAgIGNoYW5nZV9nZm47Cj4g ICAgICAgICAgc3RydWN0IHhlbl9odm1fYWx0cDJtX3NldF9tZW1fYWNjZXNzX211bHRpIHNldF9t ZW1fYWNjZXNzX211bHRpOwo+ICAgICAgICAgIHVpbnQ4X3QgcGFkWzY0XTsKPiBkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUvcHVibGljL3hlbi1jb21wYXQuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy94 ZW4tY29tcGF0LmgKPiBpbmRleCBiNjczNjUzNDBiLi5mYTZmZmI3MmU4IDEwMDY0NAo+IC0tLSBh L3hlbi9pbmNsdWRlL3B1YmxpYy94ZW4tY29tcGF0LmgKPiArKysgYi94ZW4vaW5jbHVkZS9wdWJs aWMveGVuLWNvbXBhdC5oCj4gQEAgLTI3LDcgKzI3LDcgQEAKPiAgI2lmbmRlZiBfX1hFTl9QVUJM SUNfWEVOX0NPTVBBVF9IX18KPiAgI2RlZmluZSBfX1hFTl9QVUJMSUNfWEVOX0NPTVBBVF9IX18K Pgo+IC0jZGVmaW5lIF9fWEVOX0xBVEVTVF9JTlRFUkZBQ0VfVkVSU0lPTl9fIDB4MDAwNDA5MDAK PiArI2RlZmluZSBfX1hFTl9MQVRFU1RfSU5URVJGQUNFX1ZFUlNJT05fXyAweDAwMDQwYTAwCj4K PiAgI2lmIGRlZmluZWQoX19YRU5fXykgfHwgZGVmaW5lZChfX1hFTl9UT09MU19fKQo+ICAvKiBY ZW4gaXMgYnVpbHQgd2l0aCBtYXRjaGluZyBoZWFkZXJzIGFuZCBpbXBsZW1lbnRzIHRoZSBsYXRl c3QgaW50ZXJmYWNlLiAqLwo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vbWVtX2FjY2Vz cy5oIGIveGVuL2luY2x1ZGUveGVuL21lbV9hY2Nlc3MuaAo+IGluZGV4IDdlOTVlYWI4MWMuLjcz NDhmODEyMzMgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUveGVuL21lbV9hY2Nlc3MuaAo+ICsr KyBiL3hlbi9pbmNsdWRlL3hlbi9tZW1fYWNjZXNzLmgKPiBAQCAtNzYsNyArNzYsOCBAQCBsb25n IHAybV9zZXRfbWVtX2FjY2Vzc19tdWx0aShzdHJ1Y3QgZG9tYWluICpkLAo+ICAgKiBHZXQgYWNj ZXNzIHR5cGUgZm9yIGEgZ2ZuLgo+ICAgKiBJZiBnZm4gPT0gSU5WQUxJRF9HRk4sIGdldHMgdGhl IGRlZmF1bHQgYWNjZXNzIHR5cGUuCj4gICAqLwo+IC1pbnQgcDJtX2dldF9tZW1fYWNjZXNzKHN0 cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgeGVubWVtX2FjY2Vzc190ICphY2Nlc3MpOwo+ICtp bnQgcDJtX2dldF9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgeGVubWVt X2FjY2Vzc190ICphY2Nlc3MsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGFsdHAybV9pZHgpOwo+Cj4gICNpZmRlZiBDT05GSUdfTUVNX0FDQ0VTUwo+ICBpbnQgbWVtX2Fj Y2Vzc19tZW1vcCh1bnNpZ25lZCBsb25nIGNtZCwKPiAtLQo+IDIuMTguMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==