From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adrian Pop Subject: [PATCH v3] x86/altp2m: Add a subop for obtaining the mem access of a page Date: Wed, 25 Jul 2018 14:16:01 +0300 Message-ID: <20180725111601.22524-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 1fiHm9-0004In-Fb for xen-devel@lists.xenproject.org; Wed, 25 Jul 2018 11:16:13 +0000 Received: from mx-sr.buh.bitdefender.com (mx-sr.buh.bitdefender.biz [10.17.80.103]) by mx01.bbu.dsd.mx.bitdefender.com (Postfix) with ESMTPS id 1C2BA307FB0B for ; Wed, 25 Jul 2018 15:32:26 +0300 (EEST) Received: from smtp01.buh.bitdefender.com (smtp.bitdefender.biz [10.17.80.75]) by mx-sr.buh.bitdefender.com (Postfix) with ESMTP id E54227FBC9 for ; Wed, 25 Jul 2018 14:16:09 +0300 (EEST) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Razvan Cojocaru , George Dunlap , Andrew Cooper , Adrian Pop , Ian Jackson , Tim Deegan , Julien Grall , Tamas K Lengyel , Jan Beulich , Sergej Proskurin List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5IHRoZXJlIGlzIGEgc3Vib3AgZm9yIHNldHRpbmcgdGhlIG1lbWFjY2VzcyBvZiBh IHBhZ2UsIGJ1dCBub3QKZm9yIGNvbnN1bHRpbmcgaXQuICBUaGUgbmV3IEhWTU9QX2FsdHAybV9n ZXRfbWVtX2FjY2VzcyBhZGRzIHRoaXMKZnVuY3Rpb25hbGl0eS4KCkJvdGggYWx0cDJtIGdldC9z ZXQgbWVtIGFjY2VzcyBmdW5jdGlvbnMgdXNlIHRoZSBzdHJ1Y3QKeGVuX2h2bV9hbHRwMm1fbWVt X2FjY2VzcyB3aGljaCBoYXMgbm93IGRyb3BwZWQgdGhlIGBzZXQnIHBhcnQgYW5kIGhhcwpiZWVu IHJlbmFtZWQgZnJvbSB4ZW5faHZtX2FsdHAybV9zZXRfbWVtX2FjY2Vzcy4KClNpZ25lZC1vZmYt Ynk6IEFkcmlhbiBQb3AgPGFwb3BAYml0ZGVmZW5kZXIuY29tPgotLS0KQ2hhbmdlcyBpbiB2MzoK LSByZW1vdmUgdGhlIHVucmVsYXRlZCBoZWxwZXIgZnVuY3Rpb24KLSBzaW1wbGlmeSB0aGUgbG9j a2luZyBpbiBwMm1fZ2V0X21lbV9hY2Nlc3MKCkNoYW5nZXMgaW4gdjI6Ci0gdXNlIHRoZSBfcDJt X2dldF9tZW1fYWNjZXNzIGhlbHBlciBmcm9tIHAybV9nZXRfbWVtX2FjY2VzcwotIG1pbm9yIEFy bSBhZGp1c3RtZW50cwotIG1vdmUgb3V0IHRoZSBhZGRpdGlvbiBvZiBhIG1lbWFjY2VzcyBoZWxw ZXIgZnVuY3Rpb24gdG8gYSBzZXBhcmF0ZQogIHBhdGNoIGluIHRoZSBhdHRlbXB0cyBvZiBtYWtp bmcgdGhlIGRpZmYgY2xlYXJlcgotLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oICAg fCAgMyArKysKIHRvb2xzL2xpYnhjL3hjX2FsdHAybS5jICAgICAgICAgfCAzMyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0KIHhlbi9hcmNoL2FybS9tZW1fYWNjZXNzLmMgICAgICAg fCAgOCArKysrKystLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgICB8IDI2ICsrKysr KysrKysrKysrKysrKysrKystLS0tCiB4ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jICAgIHwg MjEgKysrKysrKysrKysrKysrKysrKy0tCiB4ZW4vY29tbW9uL21lbV9hY2Nlc3MuYyAgICAgICAg IHwgIDIgKy0KIHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmggfCAxMCArKysrKystLS0t CiB4ZW4vaW5jbHVkZS94ZW4vbWVtX2FjY2Vzcy5oICAgIHwgIDMgKystCiA4IGZpbGVzIGNoYW5n ZWQsIDg5IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgK aW5kZXggZGQ3ZDhhOTcyNC4uODIyODZjMmY1MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5j bHVkZS94ZW5jdHJsLmgKKysrIGIvdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5jdHJsLmgKQEAgLTE5 NzIsNiArMTk3Miw5IEBAIGludCB4Y19hbHRwMm1fc2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNl ICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogaW50IHhjX2FsdHAybV9zZXRfbWVtX2FjY2Vzc19t dWx0aSh4Y19pbnRlcmZhY2UgKmhhbmRsZSwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90IHZpZXdfaWQsIHVpbnQ4X3QgKmFjY2VzcywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmdmbnMsIHVpbnQz Ml90IG5yKTsKK2ludCB4Y19hbHRwMm1fZ2V0X21lbV9hY2Nlc3MoeGNfaW50ZXJmYWNlICpoYW5k bGUsIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZf dCB2aWV3X2lkLCB4ZW5fcGZuX3QgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4 ZW5tZW1fYWNjZXNzX3QgKmFjY2Vzcyk7CiBpbnQgeGNfYWx0cDJtX2NoYW5nZV9nZm4oeGNfaW50 ZXJmYWNlICpoYW5kbGUsIHVpbnQzMl90IGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQxNl90IHZpZXdfaWQsIHhlbl9wZm5fdCBvbGRfZ2ZuLAogICAgICAgICAgICAgICAgICAg ICAgICAgIHhlbl9wZm5fdCBuZXdfZ2ZuKTsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2Fs dHAybS5jIGIvdG9vbHMvbGlieGMveGNfYWx0cDJtLmMKaW5kZXggY2U0YTFlNGQ2MC4uMGRkYjE4 ZmEyYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfYWx0cDJtLmMKKysrIGIvdG9vbHMvbGli eGMveGNfYWx0cDJtLmMKQEAgLTE3Nyw5ICsxNzcsOSBAQCBpbnQgeGNfYWx0cDJtX3NldF9tZW1f YWNjZXNzKHhjX2ludGVyZmFjZSAqaGFuZGxlLCB1aW50MzJfdCBkb21pZCwKICAgICBhcmctPnZl cnNpb24gPSBIVk1PUF9BTFRQMk1fSU5URVJGQUNFX1ZFUlNJT047CiAgICAgYXJnLT5jbWQgPSBI Vk1PUF9hbHRwMm1fc2V0X21lbV9hY2Nlc3M7CiAgICAgYXJnLT5kb21haW4gPSBkb21pZDsKLSAg ICBhcmctPnUuc2V0X21lbV9hY2Nlc3MudmlldyA9IHZpZXdfaWQ7Ci0gICAgYXJnLT51LnNldF9t ZW1fYWNjZXNzLmh2bW1lbV9hY2Nlc3MgPSBhY2Nlc3M7Ci0gICAgYXJnLT51LnNldF9tZW1fYWNj ZXNzLmdmbiA9IGdmbjsKKyAgICBhcmctPnUubWVtX2FjY2Vzcy52aWV3ID0gdmlld19pZDsKKyAg ICBhcmctPnUubWVtX2FjY2Vzcy5odm1tZW1fYWNjZXNzID0gYWNjZXNzOworICAgIGFyZy0+dS5t ZW1fYWNjZXNzLmdmbiA9IGdmbjsKIAogICAgIHJjID0geGVuY2FsbDIoaGFuZGxlLT54Y2FsbCwg X19IWVBFUlZJU09SX2h2bV9vcCwgSFZNT1BfYWx0cDJtLAogCQkgIEhZUEVSQ0FMTF9CVUZGRVJf QVNfQVJHKGFyZykpOwpAQCAtMjU0LDMgKzI1NCwzMCBAQCBpbnQgeGNfYWx0cDJtX3NldF9tZW1f YWNjZXNzX211bHRpKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBkb21pZCwKIAogICAgIHJl dHVybiByYzsKIH0KKworaW50IHhjX2FsdHAybV9nZXRfbWVtX2FjY2Vzcyh4Y19pbnRlcmZhY2Ug KmhhbmRsZSwgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQxNl90IHZpZXdfaWQsIHhlbl9wZm5fdCBnZm4sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHhlbm1lbV9hY2Nlc3NfdCAqYWNjZXNzKQoreworICAgIGludCByYzsKKyAgICBERUNMQVJF X0hZUEVSQ0FMTF9CVUZGRVIoeGVuX2h2bV9hbHRwMm1fb3BfdCwgYXJnKTsKKworICAgIGFyZyA9 IHhjX2h5cGVyY2FsbF9idWZmZXJfYWxsb2MoaGFuZGxlLCBhcmcsIHNpemVvZigqYXJnKSk7Cisg ICAgaWYgKCBhcmcgPT0gTlVMTCApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGFyZy0+dmVy c2lvbiA9IEhWTU9QX0FMVFAyTV9JTlRFUkZBQ0VfVkVSU0lPTjsKKyAgICBhcmctPmNtZCA9IEhW TU9QX2FsdHAybV9nZXRfbWVtX2FjY2VzczsKKyAgICBhcmctPmRvbWFpbiA9IGRvbWlkOworICAg IGFyZy0+dS5tZW1fYWNjZXNzLnZpZXcgPSB2aWV3X2lkOworICAgIGFyZy0+dS5tZW1fYWNjZXNz LmdmbiA9IGdmbjsKKworICAgIHJjID0geGVuY2FsbDIoaGFuZGxlLT54Y2FsbCwgX19IWVBFUlZJ U09SX2h2bV9vcCwgSFZNT1BfYWx0cDJtLAorICAgICAgICAgICAgICAgICBIWVBFUkNBTExfQlVG RkVSX0FTX0FSRyhhcmcpKTsKKworICAgIGlmICggIXJjICkKKyAgICAgICAgKmFjY2VzcyA9IGFy Zy0+dS5tZW1fYWNjZXNzLmh2bW1lbV9hY2Nlc3M7CisKKyAgICB4Y19oeXBlcmNhbGxfYnVmZmVy X2ZyZWUoaGFuZGxlLCBhcmcpOworICAgIHJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC9hcm0vbWVtX2FjY2Vzcy5jCmluZGV4IGJh NGVjNzgwZmQuLjE3OGJjMWE2YzEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9tZW1fYWNjZXNz LmMKKysrIGIveGVuL2FyY2gvYXJtL21lbV9hY2Nlc3MuYwpAQCAtMjM2LDcgKzIzNiw3IEBAIGJv b2wgcDJtX21lbV9hY2Nlc3NfY2hlY2socGFkZHJfdCBncGEsIHZhZGRyX3QgZ2xhLCBjb25zdCBz dHJ1Y3QgbnBmZWMgbnBmZWMpCiAgICAgaWYgKCAhcDJtLT5tZW1fYWNjZXNzX2VuYWJsZWQgKQog ICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIHJjID0gcDJtX2dldF9tZW1fYWNjZXNzKHYtPmRv bWFpbiwgZ2FkZHJfdG9fZ2ZuKGdwYSksICZ4bWEpOworICAgIHJjID0gcDJtX2dldF9tZW1fYWNj ZXNzKHYtPmRvbWFpbiwgZ2FkZHJfdG9fZ2ZuKGdwYSksICZ4bWEsIDApOwogICAgIGlmICggcmMg KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApAQCAtNDQxLDExICs0NDEsMTUgQEAgbG9uZyBwMm1f c2V0X21lbV9hY2Nlc3NfbXVsdGkoc3RydWN0IGRvbWFpbiAqZCwKIH0KIAogaW50IHAybV9nZXRf bWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sCi0gICAgICAgICAgICAgICAg ICAgICAgIHhlbm1lbV9hY2Nlc3NfdCAqYWNjZXNzKQorICAgICAgICAgICAgICAgICAgICAgICB4 ZW5tZW1fYWNjZXNzX3QgKmFjY2VzcywgdW5zaWduZWQgaW50IGFsdHAybV9pZHgpCiB7CiAgICAg aW50IHJldDsKICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJtKGQp OwogCisgICAgLyogYWx0cDJtIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgb24gQXJtLiBUaGUgYWx0 cDJtX2lkeCBzaG91bGQgYmUgMC4gKi8KKyAgICBpZiAoIGFsdHAybV9pZHggKQorICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKKwogICAgIHAybV9yZWFkX2xvY2socDJtKTsKICAgICByZXQgPSBfX3Ay bV9nZXRfbWVtX2FjY2VzcyhkLCBnZm4sIGFjY2Vzcyk7CiAgICAgcDJtX3JlYWRfdW5sb2NrKHAy bSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2 bS9odm0uYwppbmRleCA2N2I5OWFmMzM0Li40OWY0YWZhYmFjIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTQ0OTUsNiAr NDQ5NSw3IEBAIHN0YXRpYyBpbnQgZG9fYWx0cDJtX29wKAogICAgIGNhc2UgSFZNT1BfYWx0cDJt X3N3aXRjaF9wMm06CiAgICAgY2FzZSBIVk1PUF9hbHRwMm1fc2V0X21lbV9hY2Nlc3M6CiAgICAg Y2FzZSBIVk1PUF9hbHRwMm1fc2V0X21lbV9hY2Nlc3NfbXVsdGk6CisgICAgY2FzZSBIVk1PUF9h bHRwMm1fZ2V0X21lbV9hY2Nlc3M6CiAgICAgY2FzZSBIVk1PUF9hbHRwMm1fY2hhbmdlX2dmbjoK ICAgICAgICAgYnJlYWs7CiAKQEAgLTQ2MTEsMTIgKzQ2MTIsMTIgQEAgc3RhdGljIGludCBkb19h bHRwMm1fb3AoCiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBIVk1PUF9hbHRwMm1fc2V0X21l bV9hY2Nlc3M6Ci0gICAgICAgIGlmICggYS51LnNldF9tZW1fYWNjZXNzLnBhZCApCisgICAgICAg IGlmICggYS51Lm1lbV9hY2Nlc3MucGFkICkKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKICAg ICAgICAgZWxzZQotICAgICAgICAgICAgcmMgPSBwMm1fc2V0X21lbV9hY2Nlc3MoZCwgX2dmbihh LnUuc2V0X21lbV9hY2Nlc3MuZ2ZuKSwgMSwgMCwgMCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGEudS5zZXRfbWVtX2FjY2Vzcy5odm1tZW1fYWNjZXNzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYS51LnNldF9tZW1fYWNjZXNzLnZpZXcpOworICAg ICAgICAgICAgcmMgPSBwMm1fc2V0X21lbV9hY2Nlc3MoZCwgX2dmbihhLnUubWVtX2FjY2Vzcy5n Zm4pLCAxLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS51Lm1l bV9hY2Nlc3MuaHZtbWVtX2FjY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGEudS5tZW1fYWNjZXNzLnZpZXcpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgSFZN T1BfYWx0cDJtX3NldF9tZW1fYWNjZXNzX211bHRpOgpAQCAtNDY1Miw2ICs0NjUzLDIzIEBAIHN0 YXRpYyBpbnQgZG9fYWx0cDJtX29wKAogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCisgICAg Y2FzZSBIVk1PUF9hbHRwMm1fZ2V0X21lbV9hY2Nlc3M6CisgICAgICAgIGlmICggYS51Lm1lbV9h Y2Nlc3MucGFkICkKKyAgICAgICAgICAgIHJjID0gLUVJTlZBTDsKKyAgICAgICAgZWxzZQorICAg ICAgICB7CisgICAgICAgICAgICB4ZW5tZW1fYWNjZXNzX3QgYWNjZXNzOworCisgICAgICAgICAg ICByYyA9IHAybV9nZXRfbWVtX2FjY2VzcyhkLCBfZ2ZuKGEudS5tZW1fYWNjZXNzLmdmbiksICZh Y2Nlc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLnUubWVtX2FjY2Vz cy52aWV3KTsKKyAgICAgICAgICAgIGlmICggIXJjICkKKyAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICBhLnUubWVtX2FjY2Vzcy5odm1tZW1fYWNjZXNzID0gYWNjZXNzOworICAgICAgICAg ICAgICAgIHJjID0gX19jb3B5X3RvX2d1ZXN0KGFyZywgJmEsIDEpID8gLUVGQVVMVCA6IDA7Cisg ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIEhWTU9Q X2FsdHAybV9jaGFuZ2VfZ2ZuOgogICAgICAgICBpZiAoIGEudS5jaGFuZ2VfZ2ZuLnBhZDEgfHwg YS51LmNoYW5nZV9nZm4ucGFkMiApCiAgICAgICAgICAgICByYyA9IC1FSU5WQUw7CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jIGIveGVuL2FyY2gveDg2L21tL21lbV9h Y2Nlc3MuYwppbmRleCAwM2E4NjQxNTY5Li5kNTU4MjUwOTdhIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvbW0vbWVtX2FjY2Vzcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMK QEAgLTQ2Nyw5ICs0NjcsMjYgQEAgbG9uZyBwMm1fc2V0X21lbV9hY2Nlc3NfbXVsdGkoc3RydWN0 IGRvbWFpbiAqZCwKICAgICByZXR1cm4gcmM7CiB9CiAKLWludCBwMm1fZ2V0X21lbV9hY2Nlc3Mo c3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2ZuLCB4ZW5tZW1fYWNjZXNzX3QgKmFjY2VzcykKK2lu dCBwMm1fZ2V0X21lbV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2ZuLCB4ZW5tZW1f YWNjZXNzX3QgKmFjY2VzcywKKyAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGFs dHAybV9pZHgpCiB7Ci0gICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAy bShkKTsKKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtOworCisgICAgaWYgKCAhYWx0cDJtX2Fj dGl2ZShkKSApCisgICAgeworICAgICAgICBpZiAoIGFsdHAybV9pZHggKQorICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7CisKKyAgICAgICAgcDJtID0gcDJtX2dldF9ob3N0cDJtKGQpOworICAg IH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBpZiAoIGFsdHAybV9pZHggPj0gTUFYX0FMVFAy TSB8fAorICAgICAgICAgICAgIGQtPmFyY2guYWx0cDJtX2VwdHBbYWx0cDJtX2lkeF0gPT0gbWZu X3goSU5WQUxJRF9NRk4pICkKKyAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworCisgICAgICAg IHAybSA9IGQtPmFyY2guYWx0cDJtX3AybVthbHRwMm1faWR4XTsKKyAgICB9CiAKICAgICByZXR1 cm4gX3AybV9nZXRfbWVtX2FjY2VzcyhwMm0sIGdmbiwgYWNjZXNzKTsKIH0KZGlmZiAtLWdpdCBh L3hlbi9jb21tb24vbWVtX2FjY2Vzcy5jIGIveGVuL2NvbW1vbi9tZW1fYWNjZXNzLmMKaW5kZXgg MWJmNjgyNDQ0Mi4uMDEwZTZmOGRiZiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1fYWNjZXNz LmMKKysrIGIveGVuL2NvbW1vbi9tZW1fYWNjZXNzLmMKQEAgLTk5LDcgKzk5LDcgQEAgaW50IG1l bV9hY2Nlc3NfbWVtb3AodW5zaWduZWQgbG9uZyBjbWQsCiAgICAgICAgIGlmICggKG1hby5wZm4g PiBkb21haW5fZ2V0X21heGltdW1fZ3BmbihkKSkgJiYgbWFvLnBmbiAhPSB+MHVsbCApCiAgICAg ICAgICAgICBicmVhazsKIAotICAgICAgICByYyA9IHAybV9nZXRfbWVtX2FjY2VzcyhkLCBfZ2Zu KG1hby5wZm4pLCAmYWNjZXNzKTsKKyAgICAgICAgcmMgPSBwMm1fZ2V0X21lbV9hY2Nlc3MoZCwg X2dmbihtYW8ucGZuKSwgJmFjY2VzcywgMCk7CiAgICAgICAgIGlmICggcmMgIT0gMCApCiAgICAg ICAgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1f b3AuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKaW5kZXggYmJiYTk5ZTVmNS4u MzZmZDk3ZjMyOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9odm1fb3AuaAor KysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL2h2bV9vcC5oCkBAIC0yMzQsNyArMjM0LDcgQEAg c3RydWN0IHhlbl9odm1fYWx0cDJtX3ZpZXcgewogdHlwZWRlZiBzdHJ1Y3QgeGVuX2h2bV9hbHRw Mm1fdmlldyB4ZW5faHZtX2FsdHAybV92aWV3X3Q7CiBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4 ZW5faHZtX2FsdHAybV92aWV3X3QpOwogCi1zdHJ1Y3QgeGVuX2h2bV9hbHRwMm1fc2V0X21lbV9h Y2Nlc3Mgeworc3RydWN0IHhlbl9odm1fYWx0cDJtX21lbV9hY2Nlc3MgewogICAgIC8qIHZpZXcg Ki8KICAgICB1aW50MTZfdCB2aWV3OwogICAgIC8qIE1lbW9yeSB0eXBlICovCkBAIC0yNDMsOCAr MjQzLDggQEAgc3RydWN0IHhlbl9odm1fYWx0cDJtX3NldF9tZW1fYWNjZXNzIHsKICAgICAvKiBn Zm4gKi8KICAgICB1aW50NjRfdCBnZm47CiB9OwotdHlwZWRlZiBzdHJ1Y3QgeGVuX2h2bV9hbHRw Mm1fc2V0X21lbV9hY2Nlc3MgeGVuX2h2bV9hbHRwMm1fc2V0X21lbV9hY2Nlc3NfdDsKLURFRklO RV9YRU5fR1VFU1RfSEFORExFKHhlbl9odm1fYWx0cDJtX3NldF9tZW1fYWNjZXNzX3QpOwordHlw ZWRlZiBzdHJ1Y3QgeGVuX2h2bV9hbHRwMm1fbWVtX2FjY2VzcyB4ZW5faHZtX2FsdHAybV9tZW1f YWNjZXNzX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5faHZtX2FsdHAybV9tZW1fYWNj ZXNzX3QpOwogCiBzdHJ1Y3QgeGVuX2h2bV9hbHRwMm1fc2V0X21lbV9hY2Nlc3NfbXVsdGkgewog ICAgIC8qIHZpZXcgKi8KQEAgLTI5Niw2ICsyOTYsOCBAQCBzdHJ1Y3QgeGVuX2h2bV9hbHRwMm1f b3AgewogI2RlZmluZSBIVk1PUF9hbHRwMm1fY2hhbmdlX2dmbiAgICAgICAgICAgOAogLyogU2V0 IGFjY2VzcyBmb3IgYW4gYXJyYXkgb2YgcGFnZXMgKi8KICNkZWZpbmUgSFZNT1BfYWx0cDJtX3Nl dF9tZW1fYWNjZXNzX211bHRpIDkKKy8qIEdldCB0aGUgYWNjZXNzIG9mIGEgcGFnZSBvZiBtZW1v cnkgZnJvbSBhIGNlcnRhaW4gdmlldyAqLworI2RlZmluZSBIVk1PUF9hbHRwMm1fZ2V0X21lbV9h Y2Nlc3MgICAgICAgMTAKICAgICBkb21pZF90IGRvbWFpbjsKICAgICB1aW50MTZfdCBwYWQxOwog ICAgIHVpbnQzMl90IHBhZDI7CkBAIC0zMDMsNyArMzA1LDcgQEAgc3RydWN0IHhlbl9odm1fYWx0 cDJtX29wIHsKICAgICAgICAgc3RydWN0IHhlbl9odm1fYWx0cDJtX2RvbWFpbl9zdGF0ZSAgICAg ICAgIGRvbWFpbl9zdGF0ZTsKICAgICAgICAgc3RydWN0IHhlbl9odm1fYWx0cDJtX3ZjcHVfZW5h YmxlX25vdGlmeSAgIGVuYWJsZV9ub3RpZnk7CiAgICAgICAgIHN0cnVjdCB4ZW5faHZtX2FsdHAy bV92aWV3ICAgICAgICAgICAgICAgICB2aWV3OwotICAgICAgICBzdHJ1Y3QgeGVuX2h2bV9hbHRw Mm1fc2V0X21lbV9hY2Nlc3MgICAgICAgc2V0X21lbV9hY2Nlc3M7CisgICAgICAgIHN0cnVjdCB4 ZW5faHZtX2FsdHAybV9tZW1fYWNjZXNzICAgICAgICAgICBtZW1fYWNjZXNzOwogICAgICAgICBz dHJ1Y3QgeGVuX2h2bV9hbHRwMm1fY2hhbmdlX2dmbiAgICAgICAgICAgY2hhbmdlX2dmbjsKICAg ICAgICAgc3RydWN0IHhlbl9odm1fYWx0cDJtX3NldF9tZW1fYWNjZXNzX211bHRpIHNldF9tZW1f YWNjZXNzX211bHRpOwogICAgICAgICB1aW50OF90IHBhZFs2NF07CmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS94ZW4vbWVtX2FjY2Vzcy5oIGIveGVuL2luY2x1ZGUveGVuL21lbV9hY2Nlc3MuaApp bmRleCA1YWIzNGMxNTUzLi45OWZlMTFmNmJjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4v bWVtX2FjY2Vzcy5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9tZW1fYWNjZXNzLmgKQEAgLTc2LDcg Kzc2LDggQEAgbG9uZyBwMm1fc2V0X21lbV9hY2Nlc3NfbXVsdGkoc3RydWN0IGRvbWFpbiAqZCwK ICAqIEdldCBhY2Nlc3MgdHlwZSBmb3IgYSBnZm4uCiAgKiBJZiBnZm4gPT0gSU5WQUxJRF9HRk4s IGdldHMgdGhlIGRlZmF1bHQgYWNjZXNzIHR5cGUuCiAgKi8KLWludCBwMm1fZ2V0X21lbV9hY2Nl c3Moc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2ZuLCB4ZW5tZW1fYWNjZXNzX3QgKmFjY2Vzcyk7 CitpbnQgcDJtX2dldF9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgeGVu bWVtX2FjY2Vzc190ICphY2Nlc3MsCisgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBhbHRwMm1faWR4KTsKIAogI2lmZGVmIENPTkZJR19IQVNfTUVNX0FDQ0VTUwogaW50IG1lbV9h Y2Nlc3NfbWVtb3AodW5zaWduZWQgbG9uZyBjbWQsCi0tIAoyLjE3LjAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs