From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v5 4/4] x86/ioreq server: Reset outstanding p2m_ioreq_server entries when an ioreq server unmaps. Date: Tue, 12 Jul 2016 17:02:09 +0800 Message-ID: <1468314129-28465-5-git-send-email-yu.c.zhang@linux.intel.com> References: <1468314129-28465-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1468314129-28465-1-git-send-email-yu.c.zhang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , Jun Nakajima , George Dunlap , Andrew Cooper , Paul Durrant , zhiyuan.lv@intel.com, Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCByZXNldHMgcDJtX2lvcmVxX3NlcnZlciBlbnRyaWVzIGJhY2sgdG8gcDJtX3Jh bV9ydywKYWZ0ZXIgYW4gaW9yZXEgc2VydmVyIGhhcyB1bm1hcHBlZC4gVGhlIHJlc3luYyBpcyBk b25lIGJvdGgKYXN5bmNocm9ub3VzbHkgd2l0aCB0aGUgY3VycmVudCBwMm1fY2hhbmdlX2VudHJ5 X3R5cGVfZ2xvYmFsKCkKaW50ZXJmYWNlLCBhbmQgc3luY2hyb25vdXNseSBieSBpdGVyYXRpbmcg dGhlIHAybSB0YWJsZS4gVGhlCnN5bmNocm9ub3VzIHJlc2V0dGluZyBpcyBuZWNlc3NhcnkgYmVj YXVzZSB3ZSBuZWVkIHRvIGd1YXJhbnRlZQp0aGUgcDJtIHRhYmxlIGlzIGNsZWFuIGJlZm9yZSBh bm90aGVyIGlvcmVxIHNlcnZlciBpcyBtYXBwZWQuCkFuZCBzaW5jZSB0aGUgc3dlZXBpbmcgb2Yg cDJtIHRhYmxlIGNvdWxkIGJlIHRpbWUgY29uc3VtaW5nLAppdCBpcyBkb25lIHdpdGggaHlwZXJj YWxsIGNvbnRpbnVhdGlvbi4gQXN5bmNocm9ub3VzIGFwcHJvYWNoCmlzIGFsc28gdGFrZW4gc28g dGhhdCBwMm1faW9yZXFfc2VydmVyIGVudHJpZXMgY2FuIGFsc28gYmUgcmVzZXQKd2hlbiB0aGUg SFZNIGlzIHNjaGVkdWxlZCBiZXR3ZWVuIGh5cGVyY2FsbCBjb250aW51YXRpb25zLgoKVGhpcyBw YXRjaCBhbHNvIGRpc2FsbG93cyBsaXZlIG1pZ3JhdGlvbiwgd2hlbiB0aGVyZSdzIHN0aWxsIGFu eQpvdXRzdGFuZGluZyBwMm1faW9yZXFfc2VydmVyIGVudHJ5IGxlZnQuIFRoZSBjb3JlIHJlYXNv biBpcyBvdXIKY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiBwMm1fY2hhbmdlX2VudHJ5X3R5cGVf Z2xvYmFsKCkgY2FuIG5vdAp0ZWxsIHRoZSBzdGF0ZSBvZiBwMm1faW9yZXFfc2VydmVyIGVudHJp ZXMoY2FuIG5vdCBkZWNpZGUgaWYgYW4KZW50cnkgaXMgdG8gYmUgZW11bGF0ZWQgb3IgdG8gYmUg cmVzeW5jZWQpLgoKU2lnbmVkLW9mZi1ieTogWXUgWmhhbmcgPHl1LmMuemhhbmdAbGludXguaW50 ZWwuY29tPgotLS0KQ2M6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+CkNj OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBl dS5jaXRyaXguY29tPgpDYzogSnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgpD YzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2 bS9odm0uYyAgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tCiB4ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jIHwgIDkgKysrKysrKysKIHhlbi9hcmNo L3g4Ni9tbS9wMm0tZXB0LmMgfCAgNiArKysrKy0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyAg fCAxMCArKysrKysrLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYyAgICAgfCAgMyArKysKIHhlbi9p bmNsdWRlL2FzbS14ODYvcDJtLmggfCAgNSArKysrLQogNiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNl cnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0v aHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDRkOThjYzYuLmU1N2M4YjkgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9o dm0uYwpAQCAtNTQ4NSw2ICs1NDg1LDcgQEAgc3RhdGljIGludCBodm1vcF9zZXRfbWVtX3R5cGUo CiAgICAgewogICAgICAgICB1bnNpZ25lZCBsb25nIHBmbiA9IGEuZmlyc3RfcGZuICsgc3RhcnRf aXRlcjsKICAgICAgICAgcDJtX3R5cGVfdCB0OworICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtID0gcDJtX2dldF9ob3N0cDJtKGQpOwogCiAgICAgICAgIGdldF9nZm5fdW5zaGFyZShkLCBw Zm4sICZ0KTsKICAgICAgICAgaWYgKCBwMm1faXNfcGFnaW5nKHQpICkKQEAgLTU1MTIsNiArNTUx MywxMiBAQCBzdGF0aWMgaW50IGh2bW9wX3NldF9tZW1fdHlwZSgKICAgICAgICAgaWYgKCByYyAp CiAgICAgICAgICAgICBnb3RvIG91dDsKIAorICAgICAgICBpZiAoIHQgPT0gcDJtX3JhbV9ydyAm JiBtZW10eXBlW2EuaHZtbWVtX3R5cGVdID09IHAybV9pb3JlcV9zZXJ2ZXIgKQorICAgICAgICAg ICAgcDJtLT5pb3JlcS5lbnRyeV9jb3VudCsrOworCisgICAgICAgIGlmICggdCA9PSBwMm1faW9y ZXFfc2VydmVyICYmIG1lbXR5cGVbYS5odm1tZW1fdHlwZV0gPT0gcDJtX3JhbV9ydyApCisgICAg ICAgICAgICBwMm0tPmlvcmVxLmVudHJ5X2NvdW50LS07CisKICAgICAgICAgLyogQ2hlY2sgZm9y IGNvbnRpbnVhdGlvbiBpZiBpdCdzIG5vdCB0aGUgbGFzdCBpbnRlcmF0aW9uICovCiAgICAgICAg IGlmICggYS5uciA+ICsrc3RhcnRfaXRlciAmJiAhKHN0YXJ0X2l0ZXIgJiBIVk1PUF9vcF9tYXNr KSAmJgogICAgICAgICAgICAgIGh5cGVyY2FsbF9wcmVlbXB0X2NoZWNrKCkgKQpAQCAtNTUzMCwx MSArNTUzNywxMyBAQCBzdGF0aWMgaW50IGh2bW9wX3NldF9tZW1fdHlwZSgKIH0KIAogc3RhdGlj IGludCBodm1vcF9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyKAotICAgIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0oeGVuX2h2bV9tYXBfbWVtX3R5cGVfdG9faW9yZXFfc2VydmVyX3QpIHVvcCkK KyAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9odm1fbWFwX21lbV90eXBlX3RvX2lvcmVx X3NlcnZlcl90KSB1b3AsCisgICAgdW5zaWduZWQgbG9uZyAqaXRlcikKIHsKICAgICB4ZW5faHZt X21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXJfdCBvcDsKICAgICBzdHJ1Y3QgZG9tYWluICpk OwogICAgIGludCByYzsKKyAgICB1bnNpZ25lZCBsb25nIGdmbiA9ICppdGVyOwogCiAgICAgaWYg KCBjb3B5X2Zyb21fZ3Vlc3QoJm9wLCB1b3AsIDEpICkKICAgICAgICAgcmV0dXJuIC1FRkFVTFQ7 CkBAIC01NTU5LDcgKzU1NjgsNDIgQEAgc3RhdGljIGludCBodm1vcF9tYXBfbWVtX3R5cGVfdG9f aW9yZXFfc2VydmVyKAogICAgIGlmICggcmMgIT0gMCApCiAgICAgICAgIGdvdG8gb3V0OwogCi0g ICAgcmMgPSBodm1fbWFwX21lbV90eXBlX3RvX2lvcmVxX3NlcnZlcihkLCBvcC5pZCwgb3AudHlw ZSwgb3AuZmxhZ3MpOworICAgIGlmICggZ2ZuID09IDAgfHwgb3AuZmxhZ3MgIT0gMCApCisgICAg ICAgIHJjID0gaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXIoZCwgb3AuaWQsIG9wLnR5 cGUsIG9wLmZsYWdzKTsKKworICAgIC8qCisgICAgICogSXRlcmF0ZSBwMm0gdGFibGUgd2hlbiBh biBpb3JlcSBzZXJ2ZXIgdW5tYXBzIGZyb20gcDJtX2lvcmVxX3NlcnZlciwKKyAgICAgKiBhbmQg cmVzZXQgdGhlIHJlbWFpbmluZyBwMm1faW9yZXFfc2VydmVyIGVudHJpZXMgYmFjayB0byBwMm1f cmFtX3J3LgorICAgICAqLworICAgIGlmICggb3AuZmxhZ3MgPT0gMCAmJiByYyA9PSAwICkKKyAg ICB7CisgICAgICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7 CisKKyAgICAgICAgd2hpbGUgKCBnZm4gPD0gcDJtLT5tYXhfbWFwcGVkX3BmbiApCisgICAgICAg IHsKKyAgICAgICAgICAgIHAybV90eXBlX3QgdDsKKworICAgICAgICAgICAgaWYgKCBwMm0tPmlv cmVxLmVudHJ5X2NvdW50ID09IDAgKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAg ICAgICBnZXRfZ2ZuX3Vuc2hhcmUoZCwgZ2ZuLCAmdCk7CisKKyAgICAgICAgICAgIGlmICggKHQg PT0gcDJtX2lvcmVxX3NlcnZlcikgJiYKKyAgICAgICAgICAgICAgICAgIShwMm1fY2hhbmdlX3R5 cGVfb25lKGQsIGdmbiwgdCwgcDJtX3JhbV9ydykpICkKKyAgICAgICAgICAgICAgICBwMm0tPmlv cmVxLmVudHJ5X2NvdW50LS07CisKKyAgICAgICAgICAgIHB1dF9nZm4oZCwgZ2ZuKTsKKworICAg ICAgICAgICAgLyogQ2hlY2sgZm9yIGNvbnRpbnVhdGlvbiBpZiBpdCdzIG5vdCB0aGUgbGFzdCBp dGVyYXRpb24uICovCisgICAgICAgICAgICBpZiAoICsrZ2ZuIDw9IHAybS0+bWF4X21hcHBlZF9w Zm4gJiYKKyAgICAgICAgICAgICAgICAgIShnZm4gJiBIVk1PUF9vcF9tYXNrKSAmJgorICAgICAg ICAgICAgICAgICBoeXBlcmNhbGxfcHJlZW1wdF9jaGVjaygpICkKKyAgICAgICAgICAgIHsKKyAg ICAgICAgICAgICAgICByYyA9IC1FUkVTVEFSVDsKKyAgICAgICAgICAgICAgICBnb3RvIG91dDsK KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KIAogIG91dDoKICAgICByY3VfdW5sb2Nr X2RvbWFpbihkKTsKQEAgLTU1NzgsNiArNTYyMiw3IEBAIGxvbmcgZG9faHZtX29wKHVuc2lnbmVk IGxvbmcgb3AsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQogICAgICAgICBicmVh azsKICAgICBjYXNlIEhWTU9QX21vZGlmaWVkX21lbW9yeToKICAgICBjYXNlIEhWTU9QX3NldF9t ZW1fdHlwZToKKyAgICBjYXNlIEhWTU9QX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXI6CiAg ICAgICAgIG1hc2sgPSBIVk1PUF9vcF9tYXNrOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC01 NjA3LDcgKzU2NTIsOCBAQCBsb25nIGRvX2h2bV9vcCh1bnNpZ25lZCBsb25nIG9wLCBYRU5fR1VF U1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKIAogICAgIGNhc2UgSFZNT1BfbWFwX21lbV90eXBl X3RvX2lvcmVxX3NlcnZlcjoKICAgICAgICAgcmMgPSBodm1vcF9tYXBfbWVtX3R5cGVfdG9faW9y ZXFfc2VydmVyKAotICAgICAgICAgICAgZ3Vlc3RfaGFuZGxlX2Nhc3QoYXJnLCB4ZW5faHZtX21h cF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXJfdCkpOworICAgICAgICAgICAgZ3Vlc3RfaGFuZGxl X2Nhc3QoYXJnLCB4ZW5faHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXJfdCksCisgICAg ICAgICAgICAmc3RhcnRfaXRlcik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBIVk1PUF9z ZXRfaW9yZXFfc2VydmVyX3N0YXRlOgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYyBiL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKaW5kZXggOWMyY2Q0OS4uMDQ0MmIxZCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94ZW4vYXJjaC94ODYv bW0vaGFwL2hhcC5jCkBAIC0xOTAsNiArMTkwLDE1IEBAIG91dDoKICAqLwogc3RhdGljIGludCBo YXBfZW5hYmxlX2xvZ19kaXJ0eShzdHJ1Y3QgZG9tYWluICpkLCBib29sX3QgbG9nX2dsb2JhbCkK IHsKKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJtKGQpOworCisg ICAgLyoKKyAgICAqIFJlZnVzZSB0byB0dXJuIG9uIGdsb2JhbCBsb2ctZGlydHkgbW9kZSBpZgor ICAgICogdGhlcmUncyBvdXRzdGFuZGluZyBwMm1faW9yZXFfc2VydmVyIHBhZ2VzLgorICAgICov CisgICAgaWYgKCBsb2dfZ2xvYmFsICYmIHAybS0+aW9yZXEuZW50cnlfY291bnQgPiAwICkKKyAg ICAgICAgcmV0dXJuIC1FQlVTWTsKKwogICAgIC8qIHR1cm4gb24gUEdfbG9nX2RpcnR5IGJpdCBp biBwYWdpbmcgbW9kZSAqLwogICAgIHBhZ2luZ19sb2NrKGQpOwogICAgIGQtPmFyY2gucGFnaW5n Lm1vZGUgfD0gUEdfbG9nX2RpcnR5OwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1l cHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKaW5kZXggNWYwNmQ0MC4uNWQ0ZDgwNCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYworKysgYi94ZW4vYXJjaC94ODYv bW0vcDJtLWVwdC5jCkBAIC01NDUsNiArNTQ1LDkgQEAgc3RhdGljIGludCByZXNvbHZlX21pc2Nv bmZpZyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbikKICAgICAgICAg ICAgICAgICAgICAgZS5pcGF0ID0gaXBhdDsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBlLnJl Y2FsYyAmJiBwMm1faXNfY2hhbmdlYWJsZShlLnNhX3AybXQpICkKICAgICAgICAgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZS5zYV9wMm10ID09IHAybV9pb3Jl cV9zZXJ2ZXIgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm0tPmlvcmVxLmVudHJ5 X2NvdW50LS07CisKICAgICAgICAgICAgICAgICAgICAgICAgICBlLnNhX3AybXQgPSBwMm1faXNf bG9nZGlydHlfcmFuZ2UocDJtLCBnZm4gKyBpLCBnZm4gKyBpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgID8gcDJtX3JhbV9sb2dkaXJ0eSA6IHAybV9yYW1fcnc7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgZXB0X3AybV90eXBlX3RvX2ZsYWdzKHAybSwgJmUsIGUuc2Ff cDJtdCwgZS5hY2Nlc3MpOwpAQCAtOTY1LDcgKzk2OCw4IEBAIHN0YXRpYyBtZm5fdCBlcHRfZ2V0 X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgaWYgKCBpc19lcHRlX3ZhbGlkKGVw dF9lbnRyeSkgKQogICAgIHsKICAgICAgICAgaWYgKCAocmVjYWxjIHx8IGVwdF9lbnRyeS0+cmVj YWxjKSAmJgotICAgICAgICAgICAgIHAybV9pc19jaGFuZ2VhYmxlKGVwdF9lbnRyeS0+c2FfcDJt dCkgKQorICAgICAgICAgICAgIHAybV9pc19jaGFuZ2VhYmxlKGVwdF9lbnRyeS0+c2FfcDJtdCkg JiYKKyAgICAgICAgICAgICAoZXB0X2VudHJ5LT5zYV9wMm10ICE9IHAybV9pb3JlcV9zZXJ2ZXIp ICkKICAgICAgICAgICAgICp0ID0gcDJtX2lzX2xvZ2RpcnR5X3JhbmdlKHAybSwgZ2ZuLCBnZm4p ID8gcDJtX3JhbV9sb2dkaXJ0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOiBwMm1fcmFtX3J3OwogICAgICAgICBlbHNlCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKaW5k ZXggNjIwOWU3Yi4uN2JlYmZkMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1wdC5j CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwpAQCAtNDM5LDExICs0MzksMTMgQEAgc3Rh dGljIGludCBkb19yZWNhbGMoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBn Zm4pCiAgICAgICAgICBuZWVkc19yZWNhbGMobDEsICpwZW50KSApCiAgICAgewogICAgICAgICBs MV9wZ2VudHJ5X3QgZSA9ICpwZW50OworICAgICAgICBwMm1fdHlwZV90IHAybXRfb2xkOwogCiAg ICAgICAgIGlmICggIXZhbGlkX3JlY2FsYyhsMSwgZSkgKQogICAgICAgICAgICAgUDJNX0RFQlVH KCJib2d1cyByZWNhbGMgbGVhZiBhdCBkJWQ6JWx4OiV1XG4iLAogICAgICAgICAgICAgICAgICAg ICAgIHAybS0+ZG9tYWluLT5kb21haW5faWQsIGdmbiwgbGV2ZWwpOwotICAgICAgICBpZiAoIHAy bV9pc19jaGFuZ2VhYmxlKHAybV9mbGFnc190b190eXBlKGwxZV9nZXRfZmxhZ3MoZSkpKSApCisg ICAgICAgIHAybXRfb2xkID0gcDJtX2ZsYWdzX3RvX3R5cGUobDFlX2dldF9mbGFncyhlKSk7Cisg ICAgICAgIGlmICggcDJtX2lzX2NoYW5nZWFibGUocDJtdF9vbGQpICkKICAgICAgICAgewogICAg ICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfjBVTCA8PCAobGV2ZWwgKiBQQUdFVEFCTEVf T1JERVIpOwogICAgICAgICAgICAgcDJtX3R5cGVfdCBwMm10ID0gcDJtX2lzX2xvZ2RpcnR5X3Jh bmdlKHAybSwgZ2ZuICYgbWFzaywgZ2ZuIHwgfm1hc2spCkBAIC00NjMsNiArNDY1LDEwIEBAIHN0 YXRpYyBpbnQgZG9fcmVjYWxjKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcg Z2ZuKQogICAgICAgICAgICAgICAgICAgICAgbWZuICY9IH4oX1BBR0VfUFNFX1BBVCA+PiBQQUdF X1NISUZUKTsKICAgICAgICAgICAgICAgICBmbGFncyB8PSBfUEFHRV9QU0U7CiAgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgIGlmICggcDJtdF9vbGQgPT0gcDJtX2lvcmVxX3NlcnZlciApCisg ICAgICAgICAgICAgICAgcDJtLT5pb3JlcS5lbnRyeV9jb3VudC0tOworCiAgICAgICAgICAgICBl ID0gbDFlX2Zyb21fcGZuKG1mbiwgZmxhZ3MpOwogICAgICAgICAgICAgcDJtX2FkZF9pb21tdV9m bGFncygmZSwgbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwMm10ID09 IHAybV9yYW1fcncpCkBAIC03MjksNyArNzM1LDcgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgbWZuX3QgbWZuLAogc3RhdGljIGlu bGluZSBwMm1fdHlwZV90IHJlY2FsY190eXBlKGJvb2xfdCByZWNhbGMsIHAybV90eXBlX3QgdCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAq cDJtLCB1bnNpZ25lZCBsb25nIGdmbikKIHsKLSAgICBpZiAoICFyZWNhbGMgfHwgIXAybV9pc19j aGFuZ2VhYmxlKHQpICkKKyAgICBpZiAoICFyZWNhbGMgfHwgIXAybV9pc19jaGFuZ2VhYmxlKHQp IHx8ICh0ID09IHAybV9pb3JlcV9zZXJ2ZXIpICkKICAgICAgICAgcmV0dXJuIHQ7CiAgICAgcmV0 dXJuIHAybV9pc19sb2dkaXJ0eV9yYW5nZShwMm0sIGdmbiwgZ2ZuKSA/IHAybV9yYW1fbG9nZGly dHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcDJt X3JhbV9ydzsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNoL3g4 Ni9tbS9wMm0uYwppbmRleCA1NTY3MTgxLi5lMWMzZTMxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvbW0vcDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS5jCkBAIC0zMTMsNiArMzEzLDkg QEAgaW50IHAybV9zZXRfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsCiAKICAgICAgICAg cDJtLT5pb3JlcS5zZXJ2ZXIgPSBOVUxMOwogICAgICAgICBwMm0tPmlvcmVxLmZsYWdzID0gMDsK KworICAgICAgICBpZiAoIHAybS0+aW9yZXEuZW50cnlfY291bnQgPiAwICkKKyAgICAgICAgICAg IHAybV9jaGFuZ2VfZW50cnlfdHlwZV9nbG9iYWwoZCwgcDJtX2lvcmVxX3NlcnZlciwgcDJtX3Jh bV9ydyk7CiAgICAgfQogICAgIGVsc2UKICAgICB7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAppbmRleCAwOTUwYTkxLi44 ZTViNGY1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTEyMCw3ICsxMjAsOCBAQCB0eXBlZGVmIHVuc2lnbmVk IGludCBwMm1fcXVlcnlfdDsKIAogLyogVHlwZXMgdGhhdCBjYW4gYmUgc3ViamVjdCB0byBidWxr IHRyYW5zaXRpb25zLiAqLwogI2RlZmluZSBQMk1fQ0hBTkdFQUJMRV9UWVBFUyAocDJtX3RvX21h c2socDJtX3JhbV9ydykgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9f bWFzayhwMm1fcmFtX2xvZ2RpcnR5KSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 IHAybV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpIFwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgcDJtX3RvX21hc2socDJtX2lvcmVxX3NlcnZlcikpCiAKICNkZWZpbmUgUDJNX1BP RF9UWVBFUyAocDJtX3RvX21hc2socDJtX3BvcHVsYXRlX29uX2RlbWFuZCkpCiAKQEAgLTM1Miw2 ICszNTMsOCBAQCBzdHJ1Y3QgcDJtX2RvbWFpbiB7CiAKICNkZWZpbmUgUDJNX0lPUkVRX0hBTkRM RV9XUklURV9BQ0NFU1MgWEVOX0hWTU9QX0lPUkVRX01FTV9BQ0NFU1NfV1JJVEUKICNkZWZpbmUg UDJNX0lPUkVRX0hBTkRMRV9SRUFEX0FDQ0VTUyAgWEVOX0hWTU9QX0lPUkVRX01FTV9BQ0NFU1Nf UkVBRAorCisgICAgICAgIHVuc2lnbmVkIGludCBlbnRyeV9jb3VudDsKICAgICB9IGlvcmVxOwog fTsKIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK