From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 05/15] iommu: don't domain_crash() inside iommu_map/unmap_page() Date: Wed, 1 Aug 2018 14:40:18 +0100 Message-ID: <20180801134028.1654-6-paul.durrant@citrix.com> References: <20180801134028.1654-1-paul.durrant@citrix.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 1fkrMj-0008Ne-Os for xen-devel@lists.xenproject.org; Wed, 01 Aug 2018 13:40:37 +0000 In-Reply-To: <20180801134028.1654-1-paul.durrant@citrix.com> 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: Kevin Tian , Stefano Stabellini , Jun Nakajima , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org VHVybiBpb21tdV9tYXAvdW5tYXBfcGFnZSgpIGludG8gc3RyYWlnaHRmb3J3YXJkIHdyYXBwZXJz IHRoYXQgY2hlY2sgdGhlCmV4aXN0ZW5jZSBvZiB0aGUgcmVsZXZhbnQgaW9tbXVfb3AgYW5kIGNh bGwgdGhyb3VnaCB0byBpdC4gVGhpcyBtYWtlcyB0aGVtCnVzYWJsZSBieSBQViBJT01NVSBjb2Rl IHRvIGJlIGRlbGl2ZXJlZCBpbiBmdXR1cmUgcGF0Y2hlcy4KTGVhdmUgdGhlIGRlY2lzaW9uIG9u IHdoZXRoZXIgdG8gaW52b2tlIGRvbWFpbl9jcmFzaCgpIHVwIHRvIHRoZSBjYWxsZXIuClRoaXMg aGFzIHRoZSBhZGRlZCBiZW5lZml0IHRoYXQgdGhlIChtb2R1bGUvbGluZSBudW1iZXIpIG1lc3Nh Z2UgdGhhdApkb21haW5fY3Jhc2goKSBzcGl0cyBvdXQgd2lsbCBiZSBtb3JlIGluZGljYXRpdmUg b2Ygd2hlcmUgdGhlIHByb2JsZW0gbGllcy4KCk5PVEU6IFRoaXMgcGF0Y2ggaW5jbHVkZXMgb25l IGJpdCBvZiBjbGVhbi11cCBpbiBzZXRfaWRlbnRpdHlfcDJtX2VudHJ5KCkKICAgICAgcmVwbGFj aW5nIHVzZSBvZiBwMm0tPmRvbWFpbiB3aXRoIHRoZSBkb21haW4gcG9pbnRlciBwYXNzZWQgaW50 byB0aGUKICAgICAgZnVuY3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwu ZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1 bmxhcEBldS5jaXRyaXguY29tPgpSZXZpZXdlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KLS0tCkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+ CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpDYzogQW5kcmV3IENvb3Bl ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3Nv bkBldS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzog S29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogVGltIERl ZWdhbiA8dGltQHhlbi5vcmc+CkNjOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5j b20+CkNjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ2M6IEdlb3JnZSBEdW5s YXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KCnYyOgogLSBOZXcgaW4gdjIuCi0tLQog eGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICAgICAgICAgfCAgNCArKysrCiB4ZW4vYXJjaC94 ODYvbW0uYyAgICAgICAgICAgICAgICAgICB8ICAzICsrKwogeGVuL2FyY2gveDg2L21tL3AybS1l cHQuYyAgICAgICAgICAgfCAgMyArKysKIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyAgICAgICAg ICAgIHwgIDMgKysrCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgICAgICAgICB8IDI0ICsr KysrKysrKysrKysrKysrKysrLS0tLQogeGVuL2NvbW1vbi9ncmFudF90YWJsZS5jICAgICAgICAg ICAgfCAgOCArKysrKysrKwogeGVuL2NvbW1vbi9tZW1vcnkuYyAgICAgICAgICAgICAgICAgfCAg MyArKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgICAgIHwgMTIgLS0tLS0tLS0t LS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyB8ICA0ICsrKysKIDkgZmls ZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jCmluZGV4IGQ3MTlkYjFl MzAuLmViMzk4NjFiNzMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9wMm0uYworKysgYi94ZW4v YXJjaC9hcm0vcDJtLmMKQEAgLTk1Myw4ICs5NTMsMTIgQEAgc3RhdGljIGludCBfX3AybV9zZXRf ZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwKIAogICAgIGlmICggbmVlZF9pb21tdShwMm0t PmRvbWFpbikgJiYKICAgICAgICAgIChscGFlX3ZhbGlkKG9yaWdfcHRlKSB8fCBscGFlX3ZhbGlk KCplbnRyeSkpICkKKyAgICB7CiAgICAgICAgIHJjID0gaW9tbXVfaW90bGJfZmx1c2gocDJtLT5k b21haW4sIF9iZm4oZ2ZuX3goc2dmbikpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDFVTCA8PCBwYWdlX29yZGVyKTsKKyAgICAgICAgaWYgKCB1bmxpa2VseShyYykgJiYgIWlzX2hh cmR3YXJlX2RvbWFpbihwMm0tPmRvbWFpbikgKQorICAgICAgICAgICAgZG9tYWluX2NyYXNoKHAy bS0+ZG9tYWluKTsKKyAgICB9CiAgICAgZWxzZQogICAgICAgICByYyA9IDA7CiAKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggOTkwNzBmOTE2 ZC4uMDg4Nzg1NzRmMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2Fy Y2gveDg2L21tLmMKQEAgLTI3MzcsNiArMjczNyw5IEBAIHN0YXRpYyBpbnQgX2dldF9wYWdlX3R5 cGUoc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSwgdW5zaWduZWQgbG9uZyB0eXBlLAogICAgICAgICAg ICAgICAgIGlvbW11X3JldCA9IGlvbW11X21hcF9wYWdlKGQsIF9iZm4obWZuX3gobWZuKSksIG1m biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVh ZGFibGUgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1V Rl93cml0YWJsZSk7CisKKyAgICAgICAgICAgIGlmICggdW5saWtlbHkoaW9tbXVfcmV0KSAmJiAh aXNfaGFyZHdhcmVfZG9tYWluKGQpICkKKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7 CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0 LmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCmluZGV4IDIwODliNTIzMmQuLjMzZTc3OTAz ZDYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKKysrIGIveGVuL2FyY2gv eDg2L21tL3AybS1lcHQuYwpAQCAtODk1LDYgKzg5NSw5IEBAIG91dDoKICAgICAgICAgICAgICAg ICAgICAgaWYgKCAhcmMgKQogICAgICAgICAgICAgICAgICAgICAgICAgcmMgPSByZXQ7CiAgICAg ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIHVubGlrZWx5KHJjKSAmJiAhaXNfaGFy ZHdhcmVfZG9tYWluKGQpICkKKyAgICAgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAg ICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyBiL3hl bi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwppbmRleCBhNDQxYWYzODhhLi45ZmYwYjNmZTdhIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3Ay bS1wdC5jCkBAIC03MTcsNiArNzE3LDkgQEAgcDJtX3B0X3NldF9lbnRyeShzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtLCBnZm5fdCBnZm5fLCBtZm5fdCBtZm4sCiAgICAgICAgICAgICAgICAgICAgICAg ICByYyA9IHJldDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgIH0KKworICAgICAgICBpZiAo IHVubGlrZWx5KHJjKSAmJiAhaXNfaGFyZHdhcmVfZG9tYWluKHAybS0+ZG9tYWluKSApCisgICAg ICAgICAgICBkb21haW5fY3Jhc2gocDJtLT5kb21haW4pOwogICAgIH0KIAogICAgIC8qCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKaW5k ZXggZmJmNjdkZWY1MC4uMDM2ZjUyZjRmMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3Ay bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtNzI0LDYgKzcyNCw5IEBAIHAybV9y ZW1vdmVfcGFnZShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbl9sLCB1 bnNpZ25lZCBsb25nIG1mbiwKICAgICAgICAgICAgICAgICBpZiAoICFyYyApCiAgICAgICAgICAg ICAgICAgICAgIHJjID0gcmV0OwogICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoIHVu bGlrZWx5KHJjKSAmJiAhaXNfaGFyZHdhcmVfZG9tYWluKHAybS0+ZG9tYWluKSApCisgICAgICAg ICAgICAgICAgZG9tYWluX2NyYXNoKHAybS0+ZG9tYWluKTsKICAgICAgICAgfQogCiAgICAgICAg IHJldHVybiByYzsKQEAgLTc4OSw2ICs3OTIsOSBAQCBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShz dHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIG1mbl90IG1mbiwKICAgICAgICAgICAgICAgICAg ICAgICAgIGlmICggaW9tbXVfdW5tYXBfcGFnZShkLCBiZm5fYWRkKGJmbiwgaSkpICkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAorICAgICAgICAgICAgICAgICAgICBp ZiAoICFpc19oYXJkd2FyZV9kb21haW4oZCkgKQorICAgICAgICAgICAgICAgICAgICAgICAgZG9t YWluX2NyYXNoKGQpOworCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByYzsKICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICB9CkBAIC0xMTU3LDEyICsxMTYzLDE3IEBAIGludCBzZXRf aWRlbnRpdHlfcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuX2ws CiAgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAybShkKTsKICAgICBp bnQgcmV0OwogCi0gICAgaWYgKCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKHAybS0+ZG9tYWluKSAp CisgICAgaWYgKCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKICAgICB7CiAgICAgICAgIGlm ICggIW5lZWRfaW9tbXUoZCkgKQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJldHVy biBpb21tdV9tYXBfcGFnZShkLCBfYmZuKGdmbl9sKSwgX21mbihnZm5fbCksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpOwor CisgICAgICAgIHJldCA9IGlvbW11X21hcF9wYWdlKGQsIF9iZm4oZ2ZuX2wpLCBfbWZuKGdmbl9s KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVG X3dyaXRhYmxlKTsKKyAgICAgICAgaWYgKCB1bmxpa2VseShyZXQpICYmICFpc19oYXJkd2FyZV9k b21haW4oZCkgKQorICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOworCisgICAgICAgIHJldHVy biByZXQ7CiAgICAgfQogCiAgICAgZ2ZuX2xvY2socDJtLCBnZm4sIDApOwpAQCAtMTI1Miw3ICsx MjYzLDEyIEBAIGludCBjbGVhcl9pZGVudGl0eV9wMm1fZW50cnkoc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgbG9uZyBnZm5fbCkKICAgICB7CiAgICAgICAgIGlmICggIW5lZWRfaW9tbXUoZCkg KQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJldHVybiBpb21tdV91bm1hcF9wYWdl KGQsIF9iZm4oZ2ZuX2wpKTsKKworICAgICAgICByZXQgPSBpb21tdV91bm1hcF9wYWdlKGQsIF9i Zm4oZ2ZuX2wpKTsKKyAgICAgICAgaWYgKCB1bmxpa2VseShyZXQpICYmICFpc19oYXJkd2FyZV9k b21haW4oZCkgKQorICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQpOworCisgICAgICAgIHJldHVy biByZXQ7CiAgICAgfQogCiAgICAgZ2ZuX2xvY2socDJtLCBnZm4sIDApOwpkaWZmIC0tZ2l0IGEv eGVuL2NvbW1vbi9ncmFudF90YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4 IGE4M2M4ODMyYWYuLjE4NDBiNjU2YzkgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFi bGUuYworKysgYi94ZW4vY29tbW9uL2dyYW50X3RhYmxlLmMKQEAgLTExNDYsNiArMTE0Niw5IEBA IG1hcF9ncmFudF9yZWYoCiAgICAgICAgIH0KICAgICAgICAgaWYgKCBlcnIgKQogICAgICAgICB7 CisgICAgICAgICAgICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4obGQpICkKKyAgICAgICAgICAg ICAgICBkb21haW5fY3Jhc2gobGQpOworCiAgICAgICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxn dCwgcmd0KTsKICAgICAgICAgICAgIHJjID0gR05UU1RfZ2VuZXJhbF9lcnJvcjsKICAgICAgICAg ICAgIGdvdG8gdW5kb19vdXQ7CkBAIC0xNDEyLDcgKzE0MTUsMTIgQEAgdW5tYXBfY29tbW9uKAog ICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwgcmd0KTsKIAogICAgICAgICBpZiAoIGVyciAp CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihsZCkgKQor ICAgICAgICAgICAgICAgIGRvbWFpbl9jcmFzaChsZCk7CisKICAgICAgICAgICAgIHJjID0gR05U U1RfZ2VuZXJhbF9lcnJvcjsKKyAgICAgICAgfQogICAgIH0KIAogICAgIC8qIElmIGp1c3QgdW5t YXBwZWQgYSB3cml0YWJsZSBtYXBwaW5nLCBtYXJrIGFzIGRpcnRpZWQgKi8KZGlmZiAtLWdpdCBh L3hlbi9jb21tb24vbWVtb3J5LmMgYi94ZW4vY29tbW9uL21lbW9yeS5jCmluZGV4IGE1NjU2NzQz YzIuLjBhMzQ2NzdjYzMgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vbWVtb3J5LmMKKysrIGIveGVu L2NvbW1vbi9tZW1vcnkuYwpAQCAtODQwLDYgKzg0MCw5IEBAIGludCB4ZW5tZW1fYWRkX3RvX3Bo eXNtYXAoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHhlbl9hZGRfdG9fcGh5c21hcCAqeGF0cCwK ICAgICAgICAgcmV0ID0gaW9tbXVfaW90bGJfZmx1c2goZCwgX2Jmbih4YXRwLT5ncGZuIC0gZG9u ZSksIGRvbmUpOwogICAgICAgICBpZiAoIHVubGlrZWx5KHJldCkgJiYgcmMgPj0gMCApCiAgICAg ICAgICAgICByYyA9IHJldDsKKworICAgICAgICBpZiAoIHVubGlrZWx5KHJjIDwgMCkgJiYgIWlz X2hhcmR3YXJlX2RvbWFpbihkKSApCisgICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAg fQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCmluZGV4IDFmMzI5NTg4MTYuLjIxZTY4 ODZhM2YgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKKysrIGIv eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYwpAQCAtMjcyLDkgKzI3Miw2IEBAIGludCBp b21tdV9tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBiZm5fdCBiZm4sIG1mbl90IG1mbiwKICAg ICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCiAgICAgICAgICAgICAgICAgICAgImQlZDogSU9N TVUgbWFwcGluZyBiZm4gJSJQUklfYmZuIiB0byBtZm4gJSJQUklfbWZuIiBmYWlsZWQ6ICVkXG4i LAogICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCwgYmZuX3goYmZuKSwgbWZuX3gobWZu KSwgcmMpOwotCi0gICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihkKSApCi0gICAgICAg ICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJjOwpAQCAtMjk1LDkg KzI5Miw2IEBAIGludCBpb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJm bikKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCiAgICAgICAgICAgICAgICAgICAgImQl ZDogSU9NTVUgdW5tYXBwaW5nIGJmbiAlIlBSSV9iZm4iIGZhaWxlZDogJWRcbiIsCiAgICAgICAg ICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBiZm5feChiZm4pLCByYyk7Ci0KLSAgICAgICAgaWYg KCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICkKLSAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsK ICAgICB9CiAKICAgICByZXR1cm4gcmM7CkBAIC0zMzUsOSArMzI5LDYgQEAgaW50IGlvbW11X2lv dGxiX2ZsdXNoKHN0cnVjdCBkb21haW4gKmQsIGJmbl90IGJmbiwgdW5zaWduZWQgaW50IHBhZ2Vf Y291bnQpCiAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgogICAgICAgICAgICAgICAgICAg ICJkJWQ6IElPTU1VIElPVExCIGZsdXNoIGZhaWxlZDogJWQsIGJmbiAlIlBSSV9iZm4iLCBwYWdl IGNvdW50ICV1XG4iLAogICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCwgcmMsIGJmbl94 KGJmbiksIHBhZ2VfY291bnQpOwotCi0gICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihk KSApCi0gICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJj OwpAQCAtMzU4LDkgKzM0OSw2IEBAIGludCBpb21tdV9pb3RsYl9mbHVzaF9hbGwoc3RydWN0IGRv bWFpbiAqZCkKICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCiAgICAgICAgICAgICAgICAg ICAgImQlZDogSU9NTVUgSU9UTEIgZmx1c2ggYWxsIGZhaWxlZDogJWRcbiIsCiAgICAgICAgICAg ICAgICAgICAgZC0+ZG9tYWluX2lkLCByYyk7Ci0KLSAgICAgICAgaWYgKCAhaXNfaGFyZHdhcmVf ZG9tYWluKGQpICkKLSAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICB9CiAKICAgICBy ZXR1cm4gcmM7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUu YyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCmluZGV4IDE4Y2M0NDliZTUu LjY3Mzk5OGIwMzcgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21t dS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3g4Ni9pb21tdS5jCkBAIC04OSw3ICs4 OSwxMSBAQCBpbnQgYXJjaF9pb21tdV9wb3B1bGF0ZV9wYWdlX3RhYmxlKHN0cnVjdCBkb21haW4g KmQpCiAgICAgdGhpc19jcHUoaW9tbXVfZG9udF9mbHVzaF9pb3RsYikgPSAwOwogCiAgICAgaWYg KCAhcmMgKQorICAgIHsKICAgICAgICAgcmMgPSBpb21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7Cisg ICAgICAgIGlmICggdW5saWtlbHkocmMpICkKKyAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsK KyAgICB9CiAKICAgICBpZiAoIHJjICYmIHJjICE9IC1FUkVTVEFSVCApCiAgICAgICAgIGlvbW11 X3RlYXJkb3duKGQpOwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3hlbi1kZXZlbA==