From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH RFC 34/44] x86: Drop the PERDOMAIN mappings Date: Thu, 4 Jan 2018 20:21:59 +0000 Message-ID: <1515097329-31902-35-git-send-email-andrew.cooper3@citrix.com> References: <1515097329-31902-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: In-Reply-To: <1515097329-31902-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org V2l0aCB0aGUgbWFwY2FjaGUsIHhsYXQgYW5kIEdEVC9MRFQgbW92ZWQgb3ZlciB0byB0aGUgUEVS Q1BVIG1hcHBpbmdzLCB0aGVyZQphcmUgbm8gcmVtYWluaW5nIHVzZXJzIG9mIHRoZSBQRVJET01B SU4gbWFwcGluZ3MuICBEcm9wIHRoZSB3aG9sZSBQRVJET01BSU4KaW5mcmFzdHJ1Y3R1cmUsIGFu ZCByZW1vdmUgdGhlIFBFUkRPTUFJTiBzbG90IGluIHRoZSB2aXJ0dWFsIGFkZHJlc3MgbGF5b3V0 LgoKU2xpZGUgZWFjaCBvZiB0aGUgc3Vic2VxdWVudCBzbG90cyBiYWNrIGJ5IG9uZSwgYW5kIGV4 dGVuZCB0aGUgZGlyZWN0bWFwIGJhY2sKdG8gaXRzIG9yaWdpbmFsIHNpemUuCgpTaWduZWQtb2Zm LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KIHhlbi9h cmNoL3g4Ni9kb21haW4uYyAgICAgICAgfCAgIDIgLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAg ICAgICB8ICAgNiAtLQogeGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgICB8IDIzNCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHYvZG9t YWluLmMgICAgIHwgIDM5ICstLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oIHwg IDM2ICsrLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmggfCAgIDQgLQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9tbS5oICAgICB8ICAxMCAtLQogNyBmaWxlcyBjaGFuZ2VkLCA4IGluc2Vy dGlvbnMoKyksIDMyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9t YWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggMmQ2NjVjNi4uZWVjYTAxZCAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4u YwpAQCAtNTY4LDcgKzU2OCw2IEBAIGludCBhcmNoX2RvbWFpbl9jcmVhdGUoc3RydWN0IGRvbWFp biAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgIHhmcmVlKGQtPmFyY2gubXNyKTsK ICAgICBpZiAoIHBhZ2luZ19pbml0aWFsaXNlZCApCiAgICAgICAgIHBhZ2luZ19maW5hbF90ZWFy ZG93bihkKTsKLSAgICBmcmVlX3BlcmRvbWFpbl9tYXBwaW5ncyhkKTsKIAogICAgIHJldHVybiBy YzsKIH0KQEAgLTU5MCw3ICs1ODksNiBAQCB2b2lkIGFyY2hfZG9tYWluX2Rlc3Ryb3koc3RydWN0 IGRvbWFpbiAqZCkKIAogICAgIGlmICggaXNfcHZfZG9tYWluKGQpICkKICAgICAgICAgcHZfZG9t YWluX2Rlc3Ryb3koZCk7Ci0gICAgZnJlZV9wZXJkb21haW5fbWFwcGluZ3MoZCk7CiAKICAgICBm cmVlX3hlbmhlYXBfcGFnZShkLT5zaGFyZWRfaW5mbyk7CiAgICAgY2xlYW51cF9kb21haW5faXJx X21hcHBpbmcoZCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2Fy Y2gveDg2L2h2bS9odm0uYwppbmRleCA1ODM2MjY5Li44NTQ0N2RkIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTU4Mywx MCArNTgzLDYgQEAgaW50IGh2bV9kb21haW5faW5pdGlhbGlzZShzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIGRvbWNyX2ZsYWdzLAogICAgIElOSVRfTElTVF9IRUFEKCZkLT5hcmNoLmh2 bV9kb21haW4ud3JpdGVfbWFwLmxpc3QpOwogICAgIElOSVRfTElTVF9IRUFEKCZkLT5hcmNoLmh2 bV9kb21haW4uZzJtX2lvcG9ydF9saXN0KTsKIAotICAgIHJjID0gY3JlYXRlX3BlcmRvbWFpbl9t YXBwaW5nKGQsIFBFUkRPTUFJTl9WSVJUX1NUQVJULCAwLCBOVUxMLCBOVUxMKTsKLSAgICBpZiAo IHJjICkKLSAgICAgICAgZ290byBmYWlsOwotCiAgICAgaHZtX2luaXRfY2FjaGVhdHRyX3JlZ2lv bl9saXN0KGQpOwogCiAgICAgcmMgPSBwYWdpbmdfZW5hYmxlKGQsIFBHX3JlZmNvdW50c3xQR190 cmFuc2xhdGV8UEdfZXh0ZXJuYWwpOwpAQCAtNjcwLDggKzY2Niw2IEBAIGludCBodm1fZG9tYWlu X2luaXRpYWxpc2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBkb21jcl9mbGFncywK ICAgICB4ZnJlZShkLT5hcmNoLmh2bV9kb21haW4uaXJxKTsKICBmYWlsMDoKICAgICBodm1fZGVz dHJveV9jYWNoZWF0dHJfcmVnaW9uX2xpc3QoZCk7Ci0gICAgZGVzdHJveV9wZXJkb21haW5fbWFw cGluZyhkLCBQRVJET01BSU5fVklSVF9TVEFSVCwgMCk7Ci0gZmFpbDoKICAgICByZXR1cm4gcmM7 CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMK aW5kZXggOGI5MjViMy4uOTMzYmQ2NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysr IGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTE1OTQsMTMgKzE1OTQsNiBAQCB2b2lkIGluaXRfeGVu X2w0X3Nsb3RzKGw0X3BnZW50cnlfdCAqbDR0LCBtZm5fdCBsNG1mbiwKICAgICAgICAgbWZuX2Vx KHNsNG1mbiwgSU5WQUxJRF9NRk4pID8gbDRlX2VtcHR5KCkgOgogICAgICAgICBsNGVfZnJvbV9t Zm4oc2w0bWZuLCBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7CiAKLSAgICAvKiBTbG90IDI2MTogUGVy LWRvbWFpbiBtYXBwaW5ncyAoaWYgYXBwbGljYWJsZSkuICovCi0gICAgbDR0W2w0X3RhYmxlX29m ZnNldChQRVJET01BSU5fVklSVF9TVEFSVCldID0KLSAgICAgICAgZCA/IGw0ZV9mcm9tX3BhZ2Uo ZC0+YXJjaC5wZXJkb21haW5fbDNfcGcsIF9fUEFHRV9IWVBFUlZJU09SX1JXKQotICAgICAgICAg IDogbDRlX2VtcHR5KCk7Ci0KLSAgICAvKiAhISEgV0FSTklORyAtIFRFTVBPUkFSSUxZIFNUQUxF IEJFTE9XICEhISAqLwotCiAgICAgLyogU2xvdCAyNjEtOiB0ZXh0L2RhdGEvYnNzLCBSVyBNMlAs IHZtYXAsIGZyYW1ldGFibGUsIGRpcmVjdG1hcC4gKi8KICNpZm5kZWYgTkRFQlVHCiAgICAgaWYg KCBzaG9ydF9kaXJlY3RtYXAgJiYKQEAgLTUyNTcsMjMzICs1MjUwLDYgQEAgdm9pZCBfX2lvbWVt ICppb3JlbWFwKHBhZGRyX3QgcGEsIHNpemVfdCBsZW4pCiAgICAgcmV0dXJuICh2b2lkIF9fZm9y Y2UgX19pb21lbSAqKXZhOwogfQogCi1pbnQgY3JlYXRlX3BlcmRvbWFpbl9tYXBwaW5nKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgdmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBuciwgbDFfcGdlbnRyeV90ICoqcGwxdGFiLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICoqcHBnKQotewotICAgIHN0cnVjdCBw YWdlX2luZm8gKnBnOwotICAgIGwzX3BnZW50cnlfdCAqbDN0YWI7Ci0gICAgbDJfcGdlbnRyeV90 ICpsMnRhYjsKLSAgICBsMV9wZ2VudHJ5X3QgKmwxdGFiOwotICAgIGludCByYyA9IDA7Ci0KLSAg ICBBU1NFUlQodmEgPj0gUEVSRE9NQUlOX1ZJUlRfU1RBUlQgJiYKLSAgICAgICAgICAgdmEgPCBQ RVJET01BSU5fVklSVF9TTE9UKFBFUkRPTUFJTl9TTE9UUykpOwotCi0gICAgaWYgKCAhZC0+YXJj aC5wZXJkb21haW5fbDNfcGcgKQotICAgIHsKLSAgICAgICAgcGcgPSBhbGxvY19kb21oZWFwX3Bh Z2UoZCwgTUVNRl9ub19vd25lcik7Ci0gICAgICAgIGlmICggIXBnICkKLSAgICAgICAgICAgIHJl dHVybiAtRU5PTUVNOwotICAgICAgICBsM3RhYiA9IF9fbWFwX2RvbWFpbl9wYWdlKHBnKTsKLSAg ICAgICAgY2xlYXJfcGFnZShsM3RhYik7Ci0gICAgICAgIGQtPmFyY2gucGVyZG9tYWluX2wzX3Bn ID0gcGc7Ci0gICAgICAgIGlmICggIW5yICkKLSAgICAgICAgewotICAgICAgICAgICAgdW5tYXBf ZG9tYWluX3BhZ2UobDN0YWIpOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLSAg ICB9Ci0gICAgZWxzZSBpZiAoICFuciApCi0gICAgICAgIHJldHVybiAwOwotICAgIGVsc2UKLSAg ICAgICAgbDN0YWIgPSBfX21hcF9kb21haW5fcGFnZShkLT5hcmNoLnBlcmRvbWFpbl9sM19wZyk7 Ci0KLSAgICBBU1NFUlQoIWwzX3RhYmxlX29mZnNldCh2YSBeICh2YSArIG5yICogUEFHRV9TSVpF IC0gMSkpKTsKLQotICAgIGlmICggIShsM2VfZ2V0X2ZsYWdzKGwzdGFiW2wzX3RhYmxlX29mZnNl dCh2YSldKSAmIF9QQUdFX1BSRVNFTlQpICkKLSAgICB7Ci0gICAgICAgIHBnID0gYWxsb2NfZG9t aGVhcF9wYWdlKGQsIE1FTUZfbm9fb3duZXIpOwotICAgICAgICBpZiAoICFwZyApCi0gICAgICAg IHsKLSAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwzdGFiKTsKLSAgICAgICAgICAgIHJl dHVybiAtRU5PTUVNOwotICAgICAgICB9Ci0gICAgICAgIGwydGFiID0gX19tYXBfZG9tYWluX3Bh Z2UocGcpOwotICAgICAgICBjbGVhcl9wYWdlKGwydGFiKTsKLSAgICAgICAgbDN0YWJbbDNfdGFi bGVfb2Zmc2V0KHZhKV0gPSBsM2VfZnJvbV9wYWdlKHBnLCBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7 Ci0gICAgfQotICAgIGVsc2UKLSAgICAgICAgbDJ0YWIgPSBtYXBfbDJ0X2Zyb21fbDNlKGwzdGFi W2wzX3RhYmxlX29mZnNldCh2YSldKTsKLQotICAgIHVubWFwX2RvbWFpbl9wYWdlKGwzdGFiKTsK LQotICAgIGlmICggIXBsMXRhYiAmJiAhcHBnICkKLSAgICB7Ci0gICAgICAgIHVubWFwX2RvbWFp bl9wYWdlKGwydGFiKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgZm9yICggbDF0 YWIgPSBOVUxMOyAhcmMgJiYgbnItLTsgKQotICAgIHsKLSAgICAgICAgbDJfcGdlbnRyeV90ICpw bDJlID0gbDJ0YWIgKyBsMl90YWJsZV9vZmZzZXQodmEpOwotCi0gICAgICAgIGlmICggIShsMmVf Z2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNFTlQpICkKLSAgICAgICAgewotICAgICAgICAg ICAgaWYgKCBwbDF0YWIgJiYgIUlTX05JTChwbDF0YWIpICkKLSAgICAgICAgICAgIHsKLSAgICAg ICAgICAgICAgICBsMXRhYiA9IGFsbG9jX3hlbmhlYXBfcGFnZXMoMCwgTUVNRl9ub2RlKGRvbWFp bl90b19ub2RlKGQpKSk7Ci0gICAgICAgICAgICAgICAgaWYgKCAhbDF0YWIgKQotICAgICAgICAg ICAgICAgIHsKLSAgICAgICAgICAgICAgICAgICAgcmMgPSAtRU5PTUVNOwotICAgICAgICAgICAg ICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgQVNTRVJU KCFwbDF0YWJbbDJfdGFibGVfb2Zmc2V0KHZhKV0pOwotICAgICAgICAgICAgICAgIHBsMXRhYlts Ml90YWJsZV9vZmZzZXQodmEpXSA9IGwxdGFiOwotICAgICAgICAgICAgICAgIHBnID0gdmlydF90 b19wYWdlKGwxdGFiKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAg ICAgIHsKLSAgICAgICAgICAgICAgICBwZyA9IGFsbG9jX2RvbWhlYXBfcGFnZShkLCBNRU1GX25v X293bmVyKTsKLSAgICAgICAgICAgICAgICBpZiAoICFwZyApCi0gICAgICAgICAgICAgICAgewot ICAgICAgICAgICAgICAgICAgICByYyA9IC1FTk9NRU07Ci0gICAgICAgICAgICAgICAgICAgIGJy ZWFrOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBsMXRhYiA9IF9fbWFwX2Rv bWFpbl9wYWdlKHBnKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNsZWFyX3BhZ2UobDF0 YWIpOwotICAgICAgICAgICAgKnBsMmUgPSBsMmVfZnJvbV9wYWdlKHBnLCBfX1BBR0VfSFlQRVJW SVNPUl9SVyk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAoICFsMXRhYiApCi0gICAgICAg ICAgICBsMXRhYiA9IG1hcF9sMXRfZnJvbV9sMmUoKnBsMmUpOwotCi0gICAgICAgIGlmICggcHBn ICYmCi0gICAgICAgICAgICAgIShsMWVfZ2V0X2ZsYWdzKGwxdGFiW2wxX3RhYmxlX29mZnNldCh2 YSldKSAmIF9QQUdFX1BSRVNFTlQpICkKLSAgICAgICAgewotICAgICAgICAgICAgcGcgPSBhbGxv Y19kb21oZWFwX3BhZ2UoZCwgTUVNRl9ub19vd25lcik7Ci0gICAgICAgICAgICBpZiAoIHBnICkK LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBjbGVhcl9kb21haW5fcGFnZShwYWdlX3Rv X21mbihwZykpOwotICAgICAgICAgICAgICAgIGlmICggIUlTX05JTChwcGcpICkKLSAgICAgICAg ICAgICAgICAgICAgKnBwZysrID0gcGc7Ci0gICAgICAgICAgICAgICAgbDF0YWJbbDFfdGFibGVf b2Zmc2V0KHZhKV0gPQotICAgICAgICAgICAgICAgICAgICBsMWVfZnJvbV9wYWdlKHBnLCBfX1BB R0VfSFlQRVJWSVNPUl9SVyB8IF9QQUdFX0FWQUlMMCk7Ci0gICAgICAgICAgICAgICAgbDJlX2Fk ZF9mbGFncygqcGwyZSwgX1BBR0VfQVZBSUwwKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg IGVsc2UKLSAgICAgICAgICAgICAgICByYyA9IC1FTk9NRU07Ci0gICAgICAgIH0KLQotICAgICAg ICB2YSArPSBQQUdFX1NJWkU7Ci0gICAgICAgIGlmICggcmMgfHwgIW5yIHx8ICFsMV90YWJsZV9v ZmZzZXQodmEpICkKLSAgICAgICAgewotICAgICAgICAgICAgLyogTm90ZSB0aGF0IHRoaXMgaXMg YSBuby1vcCBmb3IgdGhlIGFsbG9jX3hlbmhlYXBfcGFnZSgpIGNhc2UuICovCi0gICAgICAgICAg ICB1bm1hcF9kb21haW5fcGFnZShsMXRhYik7Ci0gICAgICAgICAgICBsMXRhYiA9IE5VTEw7Ci0g ICAgICAgIH0KLSAgICB9Ci0KLSAgICBBU1NFUlQoIWwxdGFiKTsKLSAgICB1bm1hcF9kb21haW5f cGFnZShsMnRhYik7Ci0KLSAgICByZXR1cm4gcmM7Ci19Ci0KLXZvaWQgZGVzdHJveV9wZXJkb21h aW5fbWFwcGluZyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIHZhLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBucikKLXsKLSAgICBjb25zdCBsM19w Z2VudHJ5X3QgKmwzdGFiLCAqcGwzZTsKLQotICAgIEFTU0VSVCh2YSA+PSBQRVJET01BSU5fVklS VF9TVEFSVCAmJgotICAgICAgICAgICB2YSA8IFBFUkRPTUFJTl9WSVJUX1NMT1QoUEVSRE9NQUlO X1NMT1RTKSk7Ci0gICAgQVNTRVJUKCFsM190YWJsZV9vZmZzZXQodmEgXiAodmEgKyBuciAqIFBB R0VfU0laRSAtIDEpKSk7Ci0KLSAgICBpZiAoICFkLT5hcmNoLnBlcmRvbWFpbl9sM19wZyApCi0g ICAgICAgIHJldHVybjsKLQotICAgIGwzdGFiID0gX19tYXBfZG9tYWluX3BhZ2UoZC0+YXJjaC5w ZXJkb21haW5fbDNfcGcpOwotICAgIHBsM2UgPSBsM3RhYiArIGwzX3RhYmxlX29mZnNldCh2YSk7 Ci0KLSAgICBpZiAoIGwzZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BBR0VfUFJFU0VOVCApCi0gICAg ewotICAgICAgICBjb25zdCBsMl9wZ2VudHJ5X3QgKmwydGFiID0gbWFwX2wydF9mcm9tX2wzZSgq cGwzZSk7Ci0gICAgICAgIGNvbnN0IGwyX3BnZW50cnlfdCAqcGwyZSA9IGwydGFiICsgbDJfdGFi bGVfb2Zmc2V0KHZhKTsKLSAgICAgICAgdW5zaWduZWQgaW50IGkgPSBsMV90YWJsZV9vZmZzZXQo dmEpOwotCi0gICAgICAgIHdoaWxlICggbnIgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo IGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFJFU0VOVCApCi0gICAgICAgICAgICB7Ci0g ICAgICAgICAgICAgICAgbDFfcGdlbnRyeV90ICpsMXRhYiA9IG1hcF9sMXRfZnJvbV9sMmUoKnBs MmUpOwotCi0gICAgICAgICAgICAgICAgZm9yICggOyBuciAmJiBpIDwgTDFfUEFHRVRBQkxFX0VO VFJJRVM7IC0tbnIsICsraSApCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAg ICBpZiAoIChsMWVfZ2V0X2ZsYWdzKGwxdGFiW2ldKSAmCi0gICAgICAgICAgICAgICAgICAgICAg ICAgIChfUEFHRV9QUkVTRU5UIHwgX1BBR0VfQVZBSUwwKSkgPT0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAoX1BBR0VfUFJFU0VOVCB8IF9QQUdFX0FWQUlMMCkgKQotICAgICAgICAgICAgICAg ICAgICAgICAgZnJlZV9kb21oZWFwX3BhZ2UobDFlX2dldF9wYWdlKGwxdGFiW2ldKSk7Ci0gICAg ICAgICAgICAgICAgICAgIGwxdGFiW2ldID0gbDFlX2VtcHR5KCk7Ci0gICAgICAgICAgICAgICAg fQotCi0gICAgICAgICAgICAgICAgdW5tYXBfZG9tYWluX3BhZ2UobDF0YWIpOwotICAgICAgICAg ICAgfQotICAgICAgICAgICAgZWxzZSBpZiAoIG5yICsgaSA8IEwxX1BBR0VUQUJMRV9FTlRSSUVT ICkKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg ICAgICBuciAtPSBMMV9QQUdFVEFCTEVfRU5UUklFUyAtIGk7Ci0KLSAgICAgICAgICAgICsrcGwy ZTsKLSAgICAgICAgICAgIGkgPSAwOwotICAgICAgICB9Ci0KLSAgICAgICAgdW5tYXBfZG9tYWlu X3BhZ2UobDJ0YWIpOwotICAgIH0KLQotICAgIHVubWFwX2RvbWFpbl9wYWdlKGwzdGFiKTsKLX0K LQotdm9pZCBmcmVlX3BlcmRvbWFpbl9tYXBwaW5ncyhzdHJ1Y3QgZG9tYWluICpkKQotewotICAg IGwzX3BnZW50cnlfdCAqbDN0YWI7Ci0gICAgdW5zaWduZWQgaW50IGk7Ci0KLSAgICBpZiAoICFk LT5hcmNoLnBlcmRvbWFpbl9sM19wZyApCi0gICAgICAgIHJldHVybjsKLQotICAgIGwzdGFiID0g X19tYXBfZG9tYWluX3BhZ2UoZC0+YXJjaC5wZXJkb21haW5fbDNfcGcpOwotCi0gICAgZm9yICgg aSA9IDA7IGkgPCBQRVJET01BSU5fU0xPVFM7ICsraSkKLSAgICAgICAgaWYgKCBsM2VfZ2V0X2Zs YWdzKGwzdGFiW2ldKSAmIF9QQUdFX1BSRVNFTlQgKQotICAgICAgICB7Ci0gICAgICAgICAgICBz dHJ1Y3QgcGFnZV9pbmZvICpsMnBnID0gbDNlX2dldF9wYWdlKGwzdGFiW2ldKTsKLSAgICAgICAg ICAgIGwyX3BnZW50cnlfdCAqbDJ0YWIgPSBfX21hcF9kb21haW5fcGFnZShsMnBnKTsKLSAgICAg ICAgICAgIHVuc2lnbmVkIGludCBqOwotCi0gICAgICAgICAgICBmb3IgKCBqID0gMDsgaiA8IEwy X1BBR0VUQUJMRV9FTlRSSUVTOyArK2ogKQotICAgICAgICAgICAgICAgIGlmICggbDJlX2dldF9m bGFncyhsMnRhYltqXSkgJiBfUEFHRV9QUkVTRU5UICkKLSAgICAgICAgICAgICAgICB7Ci0gICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKmwxcGcgPSBsMmVfZ2V0X3BhZ2UobDJ0 YWJbal0pOwotCi0gICAgICAgICAgICAgICAgICAgIGlmICggbDJlX2dldF9mbGFncyhsMnRhYltq XSkgJiBfUEFHRV9BVkFJTDAgKQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg ICAgICAgICAgICBsMV9wZ2VudHJ5X3QgKmwxdGFiID0gX19tYXBfZG9tYWluX3BhZ2UobDFwZyk7 Ci0gICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgazsKLQotICAgICAgICAgICAg ICAgICAgICAgICAgZm9yICggayA9IDA7IGsgPCBMMV9QQUdFVEFCTEVfRU5UUklFUzsgKytrICkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIChsMWVfZ2V0X2ZsYWdzKGwxdGFiW2td KSAmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9QQUdFX1BSRVNFTlQgfCBf UEFHRV9BVkFJTDApKSA9PQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9QQUdF X1BSRVNFTlQgfCBfUEFHRV9BVkFJTDApICkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZnJlZV9kb21oZWFwX3BhZ2UobDFlX2dldF9wYWdlKGwxdGFiW2tdKSk7Ci0KLSAgICAgICAg ICAgICAgICAgICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwxdGFiKTsKLSAgICAgICAgICAgICAg ICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAgIGlmICggaXNfeGVuX2hlYXBfcGFnZShsMXBn KSApCi0gICAgICAgICAgICAgICAgICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZShwYWdlX3RvX3Zp cnQobDFwZykpOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg ICAgICBmcmVlX2RvbWhlYXBfcGFnZShsMXBnKTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAg ICAgICAgIHVubWFwX2RvbWFpbl9wYWdlKGwydGFiKTsKLSAgICAgICAgICAgIGZyZWVfZG9taGVh cF9wYWdlKGwycGcpOwotICAgICAgICB9Ci0KLSAgICB1bm1hcF9kb21haW5fcGFnZShsM3RhYik7 Ci0gICAgZnJlZV9kb21oZWFwX3BhZ2UoZC0+YXJjaC5wZXJkb21haW5fbDNfcGcpOwotICAgIGQt PmFyY2gucGVyZG9tYWluX2wzX3BnID0gTlVMTDsKLX0KLQogI2lmZGVmIE1FTU9SWV9HVUFSRAog CiBzdGF0aWMgdm9pZCBfX21lbWd1YXJkX2NoYW5nZV9yYW5nZSh2b2lkICpwLCB1bnNpZ25lZCBs b25nIGwsIGludCBndWFyZCkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyBi L3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYwppbmRleCA2MGE4OGJkLi5jY2U3NTQxIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFp bi5jCkBAIC05MSwyNiArOTEsMTEgQEAgaW50IHN3aXRjaF9jb21wYXQoc3RydWN0IGRvbWFpbiAq ZCkKICAgICByZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgcHZfY3JlYXRlX2dkdF9sZHRfbDF0 YWIoc3RydWN0IHZjcHUgKnYpCi17Ci0gICAgcmV0dXJuIGNyZWF0ZV9wZXJkb21haW5fbWFwcGlu Zyh2LT5kb21haW4sIEdEVF9WSVJUX1NUQVJUKHYpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMVUgPDwgR0RUX0xEVF9WQ1BVX1NISUZULAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdi0+ZG9tYWluLT5hcmNoLnB2X2RvbWFpbi5nZHRfbGR0X2wxdGFi LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7Ci19Ci0KLXN0YXRp YyB2b2lkIHB2X2Rlc3Ryb3lfZ2R0X2xkdF9sMXRhYihzdHJ1Y3QgdmNwdSAqdikKLXsKLSAgICBk ZXN0cm95X3BlcmRvbWFpbl9tYXBwaW5nKHYtPmRvbWFpbiwgR0RUX1ZJUlRfU1RBUlQodiksCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxVSA8PCBHRFRfTERUX1ZDUFVfU0hJRlQpOwot fQotCiB2b2lkIHB2X3ZjcHVfZGVzdHJveShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBpZiAoIGlz X3B2XzMyYml0X3ZjcHUodikgKQogICAgICAgICByZWxlYXNlX2NvbXBhdF9sNCh2KTsKIAotICAg IHB2X2Rlc3Ryb3lfZ2R0X2xkdF9sMXRhYih2KTsKICAgICB4ZnJlZSh2LT5hcmNoLnB2X3ZjcHUu dHJhcF9jdHh0KTsKICAgICB2LT5hcmNoLnB2X3ZjcHUudHJhcF9jdHh0ID0gTlVMTDsKIH0KQEAg LTEyMiwxMCArMTA3LDYgQEAgaW50IHB2X3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikK IAogICAgIEFTU0VSVCghaXNfaWRsZV9kb21haW4oZCkpOwogCi0gICAgcmMgPSBwdl9jcmVhdGVf Z2R0X2xkdF9sMXRhYih2KTsKLSAgICBpZiAoIHJjICkKLSAgICAgICAgcmV0dXJuIHJjOwotCiAg ICAgQlVJTERfQlVHX09OKE5SX1ZFQ1RPUlMgKiBzaXplb2YoKnYtPmFyY2gucHZfdmNwdS50cmFw X2N0eHQpID4KICAgICAgICAgICAgICAgICAgUEFHRV9TSVpFKTsKICAgICB2LT5hcmNoLnB2X3Zj cHUudHJhcF9jdHh0ID0geHphbGxvY19hcnJheShzdHJ1Y3QgdHJhcF9pbmZvLApAQCAtMTQ3LDYg KzEyOCw4IEBAIGludCBwdl92Y3B1X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCiAgICAgICAg ICAgICBnb3RvIGRvbmU7CiAgICAgfQogCisgICAgcmMgPSAwOyAvKiBTdWNjZXNzICovCisKICBk b25lOgogICAgIGlmICggcmMgKQogICAgICAgICBwdl92Y3B1X2Rlc3Ryb3kodik7CkBAIC0xNTUs MTQgKzEzOCw4IEBAIGludCBwdl92Y3B1X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCiAKIHZv aWQgcHZfZG9tYWluX2Rlc3Ryb3koc3RydWN0IGRvbWFpbiAqZCkKIHsKLSAgICBkZXN0cm95X3Bl cmRvbWFpbl9tYXBwaW5nKGQsIEdEVF9MRFRfVklSVF9TVEFSVCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdEVF9MRFRfTUJZVEVTIDw8ICgyMCAtIFBBR0VfU0hJRlQpKTsKLQogICAg IHhmcmVlKGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3MpOwogICAgIGQtPmFyY2gucHZfZG9t YWluLmNwdWlkbWFza3MgPSBOVUxMOwotCi0gICAgZnJlZV94ZW5oZWFwX3BhZ2UoZC0+YXJjaC5w dl9kb21haW4uZ2R0X2xkdF9sMXRhYik7Ci0gICAgZC0+YXJjaC5wdl9kb21haW4uZ2R0X2xkdF9s MXRhYiA9IE5VTEw7CiB9CiAKIApAQCAtMTc2LDEyICsxNTMsNiBAQCBpbnQgcHZfZG9tYWluX2lu aXRpYWxpc2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAg IH07CiAgICAgaW50IHJjID0gLUVOT01FTTsKIAotICAgIGQtPmFyY2gucHZfZG9tYWluLmdkdF9s ZHRfbDF0YWIgPQotICAgICAgICBhbGxvY194ZW5oZWFwX3BhZ2VzKDAsIE1FTUZfbm9kZShkb21h aW5fdG9fbm9kZShkKSkpOwotICAgIGlmICggIWQtPmFyY2gucHZfZG9tYWluLmdkdF9sZHRfbDF0 YWIgKQotICAgICAgICBnb3RvIGZhaWw7Ci0gICAgY2xlYXJfcGFnZShkLT5hcmNoLnB2X2RvbWFp bi5nZHRfbGR0X2wxdGFiKTsKLQogICAgIGlmICggbGV2ZWxsaW5nX2NhcHMgJiB+TENBUF9mYXVs dGluZyApCiAgICAgewogICAgICAgICBkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tzID0geG1h bGxvYyhzdHJ1Y3QgY3B1aWRtYXNrcyk7CkBAIC0xOTAsMTIgKzE2MSw2IEBAIGludCBwdl9kb21h aW5faW5pdGlhbGlzZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3Ms CiAgICAgICAgICpkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tzID0gY3B1aWRtYXNrX2RlZmF1 bHRzOwogICAgIH0KIAotICAgIHJjID0gY3JlYXRlX3BlcmRvbWFpbl9tYXBwaW5nKGQsIEdEVF9M RFRfVklSVF9TVEFSVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRFRfTERU X01CWVRFUyA8PCAoMjAgLSBQQUdFX1NISUZUKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLCBOVUxMKTsKLSAgICBpZiAoIHJjICkKLSAgICAgICAgZ290byBmYWlsOwot CiAgICAgZC0+YXJjaC5jdHh0X3N3aXRjaCA9ICZwdl9jc3c7CiAKICAgICAvKiA2NC1iaXQgUFYg Z3Vlc3QgYnkgZGVmYXVsdC4gKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29u ZmlnLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2NvbmZpZy5oCmluZGV4IDYyNTQ5YTguLmNmNmYx YmUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY29uZmlnLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9jb25maWcuaApAQCAtMTMxLDkgKzEzMSw2IEBAIGV4dGVybiB1bnNpZ25l ZCBjaGFyIGJvb3RfZWRpZF9pbmZvWzEyOF07CiAgKiAgICBHdWVzdCBsaW5lYXIgcGFnZSB0YWJs ZS4KICAqICAweGZmZmY4MjAwMDAwMDAwMDAgLSAweGZmZmY4MjdmZmZmZmZmZmYgWzUxMkdCLCAy XjM5IGJ5dGVzLCBQTUw0OjI2MF0KICAqICAgIFNoYWRvdyBsaW5lYXIgcGFnZSB0YWJsZS4KLSAq Ci0gKiAgICAgICAgICAgICAgICAhISEgV0FSTklORyAtIFRFTVBPUkFSSUxZIFNUQUxFIEJFTE9X ICEhIQotICoKICAqICAweGZmZmY4MjgwMDAwMDAwMDAgLSAweGZmZmY4MmJmZmZmZmZmZmYgWzI1 NkdCLCAyXjM4IGJ5dGVzLCBQTUw0OjI2MV0KICAqICAgIE1hY2hpbmUtdG8tcGh5cyB0cmFuc2xh dGlvbiB0YWJsZS4KICAqICAweGZmZmY4MmMwMDAwMDAwMDAgLSAweGZmZmY4MmNmZmZmZmZmZmYg WzY0R0IsICAyXjM2IGJ5dGVzLCBQTUw0OjI2MV0KQEAgLTIwNywxNyArMjA0LDggQEAgZXh0ZXJu IHVuc2lnbmVkIGNoYXIgYm9vdF9lZGlkX2luZm9bMTI4XTsKIC8qIFNsb3QgMjYwOiBsaW5lYXIg cGFnZSB0YWJsZSAoc2hhZG93IHRhYmxlKS4gKi8KICNkZWZpbmUgU0hfTElORUFSX1BUX1ZJUlRf U1RBUlQgKFBNTDRfQUREUigyNjApKQogI2RlZmluZSBTSF9MSU5FQVJfUFRfVklSVF9FTkQgICAo U0hfTElORUFSX1BUX1ZJUlRfU1RBUlQgKyBQTUw0X0VOVFJZX0JZVEVTKQotLyogU2xvdCAyNjE6 IHBlci1kb21haW4gbWFwcGluZ3MgKGluY2x1ZGluZyBtYXAgY2FjaGUpLiAqLwotI2RlZmluZSBQ RVJET01BSU5fVklSVF9TVEFSVCAgICAoUE1MNF9BRERSKDI2MSkpCi0jZGVmaW5lIFBFUkRPTUFJ Tl9TTE9UX01CWVRFUyAgIChQTUw0X0VOVFJZX0JZVEVTID4+ICgyMCArIFBBR0VUQUJMRV9PUkRF UikpCi0jZGVmaW5lIFBFUkRPTUFJTl9TTE9UUyAgICAgICAgIDMKLSNkZWZpbmUgUEVSRE9NQUlO X1ZJUlRfU0xPVChzKSAgKFBFUkRPTUFJTl9WSVJUX1NUQVJUICsgKHMpICogXAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKFBFUkRPTUFJTl9TTE9UX01CWVRFUyA8PCAyMCkpCi0v KgotICogICAgICAgICAgICAgICAgISEhIFdBUk5JTkcgLSBURU1QT1JBUklMWSBTVEFMRSBCRUxP VyAhISEKLSAqLwogLyogU2xvdCAyNjE6IG1hY2hpbmUtdG8tcGh5cyBjb252ZXJzaW9uIHRhYmxl ICgyNTZHQikuICovCi0jZGVmaW5lIFJEV1JfTVBUX1ZJUlRfU1RBUlQgICAgIChQTUw0X0FERFIo MjYyKSkKKyNkZWZpbmUgUkRXUl9NUFRfVklSVF9TVEFSVCAgICAgKFBNTDRfQUREUigyNjEpKQog I2RlZmluZSBSRFdSX01QVF9WSVJUX0VORCAgICAgICAoUkRXUl9NUFRfVklSVF9TVEFSVCArIE1Q VF9WSVJUX1NJWkUpCiAvKiBTbG90IDI2MTogdm1hcCgpL2lvcmVtYXAoKS9maXhtYXAgYXJlYSAo NjRHQikuICovCiAjZGVmaW5lIFZNQVBfVklSVF9TVEFSVCAgICAgICAgIFJEV1JfTVBUX1ZJUlRf RU5ECkBAIC0yNDUsMTIgKzIzMywxMiBAQCBleHRlcm4gdW5zaWduZWQgY2hhciBib290X2VkaWRf aW5mb1sxMjhdOwogCiAjaWZuZGVmIENPTkZJR19CSUdNRU0KIC8qIFNsb3QgMjYyLTI3MS81MTA6 IEEgZGlyZWN0IDE6MSBtYXBwaW5nIG9mIGFsbCBvZiBwaHlzaWNhbCBtZW1vcnkuICovCi0jZGVm aW5lIERJUkVDVE1BUF9WSVJUX1NUQVJUICAgIChQTUw0X0FERFIoMjYzKSkKLSNkZWZpbmUgRElS RUNUTUFQX1NJWkUgICAgICAgICAgKFBNTDRfRU5UUllfQllURVMgKiAoNTExIC0gMjYzKSkKKyNk ZWZpbmUgRElSRUNUTUFQX1ZJUlRfU1RBUlQgICAgKFBNTDRfQUREUigyNjIpKQorI2RlZmluZSBE SVJFQ1RNQVBfU0laRSAgICAgICAgICAoUE1MNF9FTlRSWV9CWVRFUyAqICg1MTEgLSAyNjIpKQog I2Vsc2UKIC8qIFNsb3QgMjY1LTI3MS81MTA6IEEgZGlyZWN0IDE6MSBtYXBwaW5nIG9mIGFsbCBv ZiBwaHlzaWNhbCBtZW1vcnkuICovCi0jZGVmaW5lIERJUkVDVE1BUF9WSVJUX1NUQVJUICAgIChQ TUw0X0FERFIoMjY2KSkKLSNkZWZpbmUgRElSRUNUTUFQX1NJWkUgICAgICAgICAgKFBNTDRfRU5U UllfQllURVMgKiAoNTExIC0gMjY2KSkKKyNkZWZpbmUgRElSRUNUTUFQX1ZJUlRfU1RBUlQgICAg KFBNTDRfQUREUigyNjUpKQorI2RlZmluZSBESVJFQ1RNQVBfU0laRSAgICAgICAgICAoUE1MNF9F TlRSWV9CWVRFUyAqICg1MTEgLSAyNjUpKQogI2VuZGlmCiAjZGVmaW5lIERJUkVDVE1BUF9WSVJU X0VORCAgICAgIChESVJFQ1RNQVBfVklSVF9TVEFSVCArIERJUkVDVE1BUF9TSVpFKQogCkBAIC0z MDgsMTkgKzI5Niw3IEBAIGV4dGVybiB1bnNpZ25lZCBsb25nIHhlbl9waHlzX3N0YXJ0OwogI2Rl ZmluZSBQRVJDUFVfTERUX01BUFBJTkcgICAgICAgKFBFUkNQVV9MSU5FQVJfU1RBUlQgKyBNQigx MSkpCiAjZGVmaW5lIFBFUkNQVV9MRFRfTUFQUElOR19FTkQgICAoUEVSQ1BVX0xEVF9NQVBQSU5H ICsgMHgxMDAwMCkKIAotLyogR0RUL0xEVCBzaGFkb3cgbWFwcGluZyBhcmVhLiBUaGUgZmlyc3Qg cGVyLWRvbWFpbi1tYXBwaW5nIHN1Yi1hcmVhLiAqLwotI2RlZmluZSBHRFRfTERUX1ZDUFVfU0hJ RlQgICAgICAgNQotI2RlZmluZSBHRFRfTERUX1ZDUFVfVkFfU0hJRlQgICAgKEdEVF9MRFRfVkNQ VV9TSElGVCArIFBBR0VfU0hJRlQpCi0jZGVmaW5lIEdEVF9MRFRfTUJZVEVTICAgICAgICAgICBQ RVJET01BSU5fU0xPVF9NQllURVMKLSNkZWZpbmUgTUFYX1ZJUlRfQ1BVUyAgICAgICAgICAgIChH RFRfTERUX01CWVRFUyA8PCAoMjAtR0RUX0xEVF9WQ1BVX1ZBX1NISUZUKSkKLSNkZWZpbmUgR0RU X0xEVF9WSVJUX1NUQVJUICAgICAgIFBFUkRPTUFJTl9WSVJUX1NMT1QoMCkKLSNkZWZpbmUgR0RU X0xEVF9WSVJUX0VORCAgICAgICAgIChHRFRfTERUX1ZJUlRfU1RBUlQgKyAoR0RUX0xEVF9NQllU RVMgPDwgMjApKQotCi0vKiBUaGUgYWRkcmVzcyBvZiBhIHBhcnRpY3VsYXIgVkNQVSdzIEdEVCBv ciBMRFQuICovCi0jZGVmaW5lIEdEVF9WSVJUX1NUQVJUKHYpICAgIFwKLSAgICAoUEVSRE9NQUlO X1ZJUlRfU1RBUlQgKyAoKHYpLT52Y3B1X2lkIDw8IEdEVF9MRFRfVkNQVV9WQV9TSElGVCkpCi0j ZGVmaW5lIExEVF9WSVJUX1NUQVJUKHYpICAgIFwKLSAgICAoR0RUX1ZJUlRfU1RBUlQodikgKyAo NjQqMTAyNCkpCisjZGVmaW5lIE1BWF9WSVJUX0NQVVMgICAgICAgICAgICA4MTkyCiAKICNkZWZp bmUgTkFUSVZFX1ZNX0FTU0lTVF9WQUxJRCAgICgoMVVMIDw8IFZNQVNTVF9UWVBFXzRnYl9zZWdt ZW50cykgICAgICAgIHwgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxVUwg PDwgVk1BU1NUX1RZUEVfNGdiX3NlZ21lbnRzX25vdGlmeSkgfCBcCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L2RvbWFpbi5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaApp bmRleCAxMDhiM2E0Li5hYzc1MjQ4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2Rv bWFpbi5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKQEAgLTIxMSw4ICsyMTEs NiBAQCBzdHJ1Y3QgdGltZV9zY2FsZSB7CiAKIHN0cnVjdCBwdl9kb21haW4KIHsKLSAgICBsMV9w Z2VudHJ5X3QgKipnZHRfbGR0X2wxdGFiOwotCiAgICAgYXRvbWljX3QgbnJfbDRfcGFnZXM7CiAK ICAgICBzdHJ1Y3QgY3B1aWRtYXNrcyAqY3B1aWRtYXNrczsKQEAgLTIzNSw4ICsyMzMsNiBAQCBz dHJ1Y3QgbW9uaXRvcl93cml0ZV9kYXRhIHsKIAogc3RydWN0IGFyY2hfZG9tYWluCiB7Ci0gICAg c3RydWN0IHBhZ2VfaW5mbyAqcGVyZG9tYWluX2wzX3BnOwotCiAgICAgdW5zaWduZWQgaW50IGh2 X2NvbXBhdF92c3RhcnQ7CiAKICAgICAvKiBNYXhpbXVtIHBoeXNpY2FsLWFkZHJlc3MgYml0d2lk dGggc3VwcG9ydGVkIGJ5IHRoaXMgZ3Vlc3QuICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L21tLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKaW5kZXggNTRiNzQ5OS4uMjJj MjgwOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvbW0uaApAQCAtNTkxLDE2ICs1OTEsNiBAQCBsb25nIHN1YmFyY2hfbWVtb3J5 X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZyk7 CiBpbnQgY29tcGF0X2FyY2hfbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1Rf SEFORExFX1BBUkFNKHZvaWQpKTsKIGludCBjb21wYXRfc3ViYXJjaF9tZW1vcnlfb3AoaW50IG9w LCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpKTsKIAotI2RlZmluZSBOSUwodHlwZSkgKCh0 eXBlICopLXNpemVvZih0eXBlKSkKLSNkZWZpbmUgSVNfTklMKHB0cikgKCEoKHVpbnRwdHJfdCko cHRyKSArIHNpemVvZigqKHB0cikpKSkKLQotaW50IGNyZWF0ZV9wZXJkb21haW5fbWFwcGluZyhz dHJ1Y3QgZG9tYWluICosIHVuc2lnbmVkIGxvbmcgdmEsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBuciwgbDFfcGdlbnRyeV90ICoqLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICoqKTsKLXZvaWQgZGVzdHJveV9wZXJkb21h aW5fbWFwcGluZyhzdHJ1Y3QgZG9tYWluICosIHVuc2lnbmVkIGxvbmcgdmEsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5yKTsKLXZvaWQgZnJlZV9wZXJkb21h aW5fbWFwcGluZ3Moc3RydWN0IGRvbWFpbiAqKTsKLQogZXh0ZXJuIGludCBtZW1vcnlfYWRkKHVu c2lnbmVkIGxvbmcgc3BmbiwgdW5zaWduZWQgbG9uZyBlcGZuLCB1bnNpZ25lZCBpbnQgcHhtKTsK IAogdm9pZCBkb21haW5fc2V0X2FsbG9jX2JpdHNpemUoc3RydWN0IGRvbWFpbiAqZCk7Ci0tIAoy LjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=