From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v9 4/7] iommu: don't domain_crash() inside iommu_map/unmap_page() Date: Thu, 13 Sep 2018 16:21:24 +0100 Message-ID: <20180913152128.6114-5-paul.durrant@citrix.com> References: <20180913152128.6114-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g0TR2-0008Tt-3u for xen-devel@lists.xenproject.org; Thu, 13 Sep 2018 15:21:36 +0000 In-Reply-To: <20180913152128.6114-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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jun Nakajima List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCByZW1vdmVzIHRoZSBpbXBsaWNpdCBkb21haW5fY3Jhc2goKSBmcm9tIGlvbW11 X21hcCgpLAp1bm1hcF9wYWdlKCkgYW5kIGlvbW11X2lvdGxiX2ZsdXNoKCkgYW5kIHR1cm5zIHRo ZW0gaW50byBzdHJhaWdodGZvcndhcmQKd3JhcHBlcnMgdGhhdCBjaGVjayB0aGUgZXhpc3RlbmNl IG9mIHRoZSByZWxldmFudCBpb21tdV9vcCBhbmQgY2FsbAp0aHJvdWdoIHRvIGl0LiBUaGlzIG1h a2VzIHRoZW0gdXNhYmxlIGJ5IFBWIElPTU1VIGNvZGUgdG8gYmUgZGVsaXZlcmVkIGluCmZ1dHVy ZSBwYXRjaGVzLgpUaGlzIHBhdGNoIGFkZHMgYSBoZWxwZXIgbWFjcm8sIGRvbXVfY3Jhc2goKSwg dGhhdCB3aWxsIG9ubHkgaW52b2tlCmRvbWFpbl9jcmFzaCgpIGlmIHRoZSBkb21haW4gaXMgbm90 IHRoZSBoYXJkd2FyZSBkb21haW4gYW5kIG1vZGlmaWVzCmNhbGxlcnMgb2YgaW9tbXVfbWFwKCks IHVubWFwX3BhZ2UoKSBhbmQgaW9tbXVfaW90bGJfZmx1c2goKSB0byB1c2UgdGhpcwpzaG91bGQg YW4gb3BlcmF0aW9uIGZhaWwuCgpOT1RFOiBUaGlzIHBhdGNoIGluY2x1ZGVzIG9uZSBiaXQgb2Yg Y2xlYW4tdXAgaW4gc2V0X2lkZW50aXR5X3AybV9lbnRyeSgpCiAgICAgIHJlcGxhY2luZyB1c2Ug b2YgcDJtLT5kb21haW4gd2l0aCB0aGUgZG9tYWluIHBvaW50ZXIgcGFzc2VkIGludG8gdGhlCiAg ICAgIGZ1bmN0aW9uLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRA Y2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K UmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgpSZXZpZXdlZC1i eTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0tCkNjOiBXZWkgTGl1 IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGlu aUBrZXJuZWwub3JnPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQ2M6 IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBJYW4gSmFja3Nv biA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8 a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDYzog SnVuIE5ha2FqaW1hIDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgpDYzogR2VvcmdlIER1bmxhcCA8 Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgoKdjc6CiAtIFJlLWJhc2UgYW5kIHJlLW5hbWUg QkZOIC0+IERGTi4KIC0gTW92ZSBkb211X2NyYXNoKCkgb3V0c2lkZSBkb3VibGUgbG9ja2VkIHJl Z2lvbiBpbiBncmFudF90YWJsZS5jLgogLSBBZGRlZCBKYW4ncyBSLWIuCgp2NjoKIC0gSW50cm9k dWNlIGRvbXVfY3Jhc2goKSAoaWRlYSBzdWdnZXN0ZWQgYnkgS2V2aW4sIG5hbWUgc3VnZ2VzdGVk IGJ5IEphbikKICAgdG8gY3Jhc2ggbm9uLWhhcmR3YXJlIGRvbWFpbnMuCiAtIERyb3BwZWQgV2Vp J3MgYW5kIEdlb3JnZSdzIFItYiBiZWNhdXNlIG9mIGNoYW5nZS4KCnYyOgogLSBOZXcgaW4gdjIu Ci0tLQogeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAgICAgICAgICAgfCAgNCArKysrCiB4ZW4v YXJjaC94ODYvbW0uYyAgICAgICAgICAgICAgICAgICB8ICAzICsrKwogeGVuL2FyY2gveDg2L21t L3AybS1lcHQuYyAgICAgICAgICAgfCAgMyArKysKIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyAg ICAgICAgICAgIHwgIDMgKysrCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgICAgICAgICB8 IDIyICsrKysrKysrKysrKysrKysrKy0tLS0KIHhlbi9jb21tb24vZ3JhbnRfdGFibGUuYyAgICAg ICAgICAgIHwgIDQgKysrKwogeGVuL2NvbW1vbi9tZW1vcnkuYyAgICAgICAgICAgICAgICAgfCAg MyArKysKIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgICAgIHwgMTIgLS0tLS0tLS0t LS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYyB8ICA0ICsrKysKIHhlbi9p bmNsdWRlL3hlbi9zY2hlZC5oICAgICAgICAgICAgIHwgIDUgKysrKysKIDEwIGZpbGVzIGNoYW5n ZWQsIDQ3IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwppbmRleCAwZGIxMmIwMWYxLi4xYzc5 ZmY3YWRlIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJtLmMKKysrIGIveGVuL2FyY2gvYXJt L3AybS5jCkBAIC05NTcsOCArOTU3LDEyIEBAIHN0YXRpYyBpbnQgX19wMm1fc2V0X2VudHJ5KHN0 cnVjdCBwMm1fZG9tYWluICpwMm0sCiAKICAgICBpZiAoIG5lZWRfaW9tbXUocDJtLT5kb21haW4p ICYmCiAgICAgICAgICAobHBhZV9pc192YWxpZChvcmlnX3B0ZSkgfHwgbHBhZV9pc192YWxpZCgq ZW50cnkpKSApCisgICAgewogICAgICAgICByYyA9IGlvbW11X2lvdGxiX2ZsdXNoKHAybS0+ZG9t YWluLCBfZGZuKGdmbl94KHNnZm4pKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx VUwgPDwgcGFnZV9vcmRlcik7CisgICAgICAgIGlmICggdW5saWtlbHkocmMpICkKKyAgICAgICAg ICAgIGRvbXVfY3Jhc2gocDJtLT5kb21haW4pOworICAgIH0KICAgICBlbHNlCiAgICAgICAgIHJj ID0gMDsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0u YwppbmRleCBmMzA4Yzk3ZWM5Li5jMmYyMDk5MWJiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv bW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtMjgwNyw2ICsyODA3LDkgQEAgc3RhdGlj IGludCBfZ2V0X3BhZ2VfdHlwZShzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlLCB1bnNpZ25lZCBsb25n IHR5cGUsCiAgICAgICAgICAgICAgICAgaW9tbXVfcmV0ID0gaW9tbXVfbWFwX3BhZ2UoZCwgX2Rm bihtZm5feChtZm4pKSwgbWZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElPTU1VRl9yZWFkYWJsZSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSU9NTVVGX3dyaXRhYmxlKTsKKworICAgICAgICAgICAgaWYgKCB1bmxpa2Vs eShpb21tdV9yZXQpICkKKyAgICAgICAgICAgICAgICBkb211X2NyYXNoKGQpOwogICAgICAgICB9 CiAgICAgfQogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jIGIveGVuL2Fy Y2gveDg2L21tL3AybS1lcHQuYwppbmRleCA5YTNhOTBlOWU2Li5hZjc2NzRmN2UxIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t ZXB0LmMKQEAgLTg5NSw2ICs4OTUsOSBAQCBvdXQ6CiAgICAgICAgICAgICAgICAgICAgIGlmICgg IXJjICkKICAgICAgICAgICAgICAgICAgICAgICAgIHJjID0gcmV0OwogICAgICAgICAgICAgICAg IH0KKworICAgICAgICAgICAgaWYgKCB1bmxpa2VseShyYykgKQorICAgICAgICAgICAgICAgIGRv bXVfY3Jhc2goZCk7CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9tbS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwppbmRleCA4ODFlOWU4N2I4 Li42MDcwNDZmMzFiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKKysrIGIv eGVuL2FyY2gveDg2L21tL3AybS1wdC5jCkBAIC03MTcsNiArNzE3LDkgQEAgcDJtX3B0X3NldF9l bnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCBnZm5fdCBnZm5fLCBtZm5fdCBtZm4sCiAgICAg ICAgICAgICAgICAgICAgICAgICByYyA9IHJldDsKICAgICAgICAgICAgICAgICB9CiAgICAgICAg IH0KKworICAgICAgICBpZiAoIHVubGlrZWx5KHJjKSApCisgICAgICAgICAgICBkb211X2NyYXNo KHAybS0+ZG9tYWluKTsKICAgICB9CiAKICAgICAvKgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IDgwMWI2MjliOTUuLjUzN2Fk ZDY1YmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94 ODYvbW0vcDJtLmMKQEAgLTcyNCw2ICs3MjQsOSBAQCBwMm1fcmVtb3ZlX3BhZ2Uoc3RydWN0IHAy bV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBnZm5fbCwgdW5zaWduZWQgbG9uZyBtZm4sCiAg ICAgICAgICAgICAgICAgaWYgKCAhcmMgKQogICAgICAgICAgICAgICAgICAgICByYyA9IHJldDsK ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCB1bmxpa2VseShyYykgKQorICAgICAg ICAgICAgICAgIGRvbXVfY3Jhc2gocDJtLT5kb21haW4pOwogICAgICAgICB9CiAKICAgICAgICAg cmV0dXJuIHJjOwpAQCAtNzg5LDYgKzc5Miw3IEBAIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KHN0 cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgbWZuX3QgbWZuLAogICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKCBpb21tdV91bm1hcF9wYWdlKGQsIGRmbl9hZGQoZGZuLCBpKSkgKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgICAgICAgICAgICAgIGRv bXVfY3Jhc2goZCk7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiByYzsKICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICB9CkBAIC0xMTU3LDEyICsxMTYxLDE3IEBAIGludCBzZXRfaWRl bnRpdHlfcDJtX2VudHJ5KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuX2wsCiAg ICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAybShkKTsKICAgICBpbnQg cmV0OwogCi0gICAgaWYgKCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKHAybS0+ZG9tYWluKSApCisg ICAgaWYgKCAhcGFnaW5nX21vZGVfdHJhbnNsYXRlKGQpICkKICAgICB7CiAgICAgICAgIGlmICgg IW5lZWRfaW9tbXUoZCkgKQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJldHVybiBp b21tdV9tYXBfcGFnZShkLCBfZGZuKGdmbl9sKSwgX21mbihnZm5fbCksCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJT01NVUZfcmVhZGFibGUgfCBJT01NVUZfd3JpdGFibGUpOworCisg ICAgICAgIHJldCA9IGlvbW11X21hcF9wYWdlKGQsIF9kZm4oZ2ZuX2wpLCBfbWZuKGdmbl9sKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVGX3JlYWRhYmxlIHwgSU9NTVVGX3dy aXRhYmxlKTsKKyAgICAgICAgaWYgKCB1bmxpa2VseShyZXQpICkKKyAgICAgICAgICAgIGRvbXVf Y3Jhc2goZCk7CisKKyAgICAgICAgcmV0dXJuIHJldDsKICAgICB9CiAKICAgICBnZm5fbG9jayhw Mm0sIGdmbiwgMCk7CkBAIC0xMjUyLDcgKzEyNjEsMTIgQEAgaW50IGNsZWFyX2lkZW50aXR5X3Ay bV9lbnRyeShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBsb25nIGdmbl9sKQogICAgIHsKICAg ICAgICAgaWYgKCAhbmVlZF9pb21tdShkKSApCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAg ICAgcmV0dXJuIGlvbW11X3VubWFwX3BhZ2UoZCwgX2RmbihnZm5fbCkpOworCisgICAgICAgIHJl dCA9IGlvbW11X3VubWFwX3BhZ2UoZCwgX2RmbihnZm5fbCkpOworICAgICAgICBpZiAoIHVubGlr ZWx5KHJldCkgKQorICAgICAgICAgICAgZG9tdV9jcmFzaChkKTsKKworICAgICAgICByZXR1cm4g cmV0OwogICAgIH0KIAogICAgIGdmbl9sb2NrKHAybSwgZ2ZuLCAwKTsKZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vZ3JhbnRfdGFibGUuYyBiL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYwppbmRleCAy ZDAxY2FkMTc2Li4wZjBiN2IxYTQ5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2dyYW50X3RhYmxl LmMKKysrIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCkBAIC0xMTU1LDYgKzExNTUsNyBAQCBt YXBfZ3JhbnRfcmVmKAogICAgICAgICBpZiAoIGVyciApCiAgICAgICAgIHsKICAgICAgICAgICAg IGRvdWJsZV9ndF91bmxvY2sobGd0LCByZ3QpOworICAgICAgICAgICAgZG9tdV9jcmFzaChsZCk7 CiAgICAgICAgICAgICByYyA9IEdOVFNUX2dlbmVyYWxfZXJyb3I7CiAgICAgICAgICAgICBnb3Rv IHVuZG9fb3V0OwogICAgICAgICB9CkBAIC0xNDA2LDcgKzE0MDcsMTAgQEAgdW5tYXBfY29tbW9u KAogICAgICAgICBkb3VibGVfZ3RfdW5sb2NrKGxndCwgcmd0KTsKIAogICAgICAgICBpZiAoIGVy ciApCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvbXVfY3Jhc2gobGQpOwogICAgICAgICAgICAg cmMgPSBHTlRTVF9nZW5lcmFsX2Vycm9yOworICAgICAgICB9CiAgICAgfQogCiAgICAgLyogSWYg anVzdCB1bm1hcHBlZCBhIHdyaXRhYmxlIG1hcHBpbmcsIG1hcmsgYXMgZGlydGllZCAqLwpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9tZW1vcnkuYyBiL3hlbi9jb21tb24vbWVtb3J5LmMKaW5kZXgg ODliMjExZDZhYS4uODU2MTFkZGFlNCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9tZW1vcnkuYwor KysgYi94ZW4vY29tbW9uL21lbW9yeS5jCkBAIC04NDEsNiArODQxLDkgQEAgaW50IHhlbm1lbV9h ZGRfdG9fcGh5c21hcChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgeGVuX2FkZF90b19waHlzbWFw ICp4YXRwLAogICAgICAgICByZXQgPSBpb21tdV9pb3RsYl9mbHVzaChkLCBfZGZuKHhhdHAtPmdw Zm4gLSBkb25lKSwgZG9uZSk7CiAgICAgICAgIGlmICggdW5saWtlbHkocmV0KSAmJiByYyA+PSAw ICkKICAgICAgICAgICAgIHJjID0gcmV0OworCisgICAgICAgIGlmICggdW5saWtlbHkocmMgPCAw KSApCisgICAgICAgICAgICBkb211X2NyYXNoKGQpOwogICAgIH0KICNlbmRpZgogCmRpZmYgLS1n aXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvaW9tbXUuYwppbmRleCBhYzMyYTcwMjJiLi4yNGYyYTJhNDYwIDEwMDY0NAotLS0gYS94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2lvbW11LmMKQEAgLTMxMiw5ICszMTIsNiBAQCBpbnQgaW9tbXVfbWFwX3BhZ2Uoc3RydWN0 IGRvbWFpbiAqZCwgZGZuX3QgZGZuLCBtZm5fdCBtZm4sCiAgICAgICAgICAgICBwcmludGsoWEVO TE9HX0VSUgogICAgICAgICAgICAgICAgICAgICJkJWQ6IElPTU1VIG1hcHBpbmcgZGZuICUiUFJJ X2RmbiIgdG8gbWZuICUiUFJJX21mbiIgZmFpbGVkOiAlZFxuIiwKICAgICAgICAgICAgICAgICAg ICBkLT5kb21haW5faWQsIGRmbl94KGRmbiksIG1mbl94KG1mbiksIHJjKTsKLQotICAgICAgICBp ZiAoICFpc19oYXJkd2FyZV9kb21haW4oZCkgKQotICAgICAgICAgICAgZG9tYWluX2NyYXNoKGQp OwogICAgIH0KIAogICAgIHJldHVybiByYzsKQEAgLTMzNSw5ICszMzIsNiBAQCBpbnQgaW9tbXVf dW5tYXBfcGFnZShzdHJ1Y3QgZG9tYWluICpkLCBkZm5fdCBkZm4pCiAgICAgICAgICAgICBwcmlu dGsoWEVOTE9HX0VSUgogICAgICAgICAgICAgICAgICAgICJkJWQ6IElPTU1VIHVubWFwcGluZyBk Zm4gJSJQUklfZGZuIiBmYWlsZWQ6ICVkXG4iLAogICAgICAgICAgICAgICAgICAgIGQtPmRvbWFp bl9pZCwgZGZuX3goZGZuKSwgcmMpOwotCi0gICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFp bihkKSApCi0gICAgICAgICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAgfQogCiAgICAgcmV0dXJu IHJjOwpAQCAtMzc1LDkgKzM2OSw2IEBAIGludCBpb21tdV9pb3RsYl9mbHVzaChzdHJ1Y3QgZG9t YWluICpkLCBkZm5fdCBkZm4sIHVuc2lnbmVkIGludCBwYWdlX2NvdW50KQogICAgICAgICAgICAg cHJpbnRrKFhFTkxPR19FUlIKICAgICAgICAgICAgICAgICAgICAiZCVkOiBJT01NVSBJT1RMQiBm bHVzaCBmYWlsZWQ6ICVkLCBkZm4gJSJQUklfZGZuIiwgcGFnZSBjb3VudCAldVxuIiwKICAgICAg ICAgICAgICAgICAgICBkLT5kb21haW5faWQsIHJjLCBkZm5feChkZm4pLCBwYWdlX2NvdW50KTsK LQotICAgICAgICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oZCkgKQotICAgICAgICAgICAgZG9t YWluX2NyYXNoKGQpOwogICAgIH0KIAogICAgIHJldHVybiByYzsKQEAgLTM5OCw5ICszODksNiBA QCBpbnQgaW9tbXVfaW90bGJfZmx1c2hfYWxsKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgICAg ICBwcmludGsoWEVOTE9HX0VSUgogICAgICAgICAgICAgICAgICAgICJkJWQ6IElPTU1VIElPVExC IGZsdXNoIGFsbCBmYWlsZWQ6ICVkXG4iLAogICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9p ZCwgcmMpOwotCi0gICAgICAgIGlmICggIWlzX2hhcmR3YXJlX2RvbWFpbihkKSApCi0gICAgICAg ICAgICBkb21haW5fY3Jhc2goZCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJjOwpkaWZmIC0tZ2l0 IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMgYi94ZW4vZHJpdmVycy9wYXNz dGhyb3VnaC94ODYvaW9tbXUuYwppbmRleCA3MGU3OWMyMGY3Li4xYjQ3YmNiYTNmIDEwMDY0NAot LS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwpAQCAtMTA3LDcgKzEwNywxMSBAQCBpbnQgYXJjaF9p b21tdV9wb3B1bGF0ZV9wYWdlX3RhYmxlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgdGhpc19jcHUo aW9tbXVfZG9udF9mbHVzaF9pb3RsYikgPSAwOwogCiAgICAgaWYgKCAhcmMgKQorICAgIHsKICAg ICAgICAgcmMgPSBpb21tdV9pb3RsYl9mbHVzaF9hbGwoZCk7CisgICAgICAgIGlmICggdW5saWtl bHkocmMpICkKKyAgICAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKKyAgICB9CiAKICAgICBpZiAo IHJjICYmIHJjICE9IC1FUkVTVEFSVCApCiAgICAgICAgIGlvbW11X3RlYXJkb3duKGQpOwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQu aAppbmRleCAwYmE4MGNiMWE4Li5mMmM1OTRkMTk3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94 ZW4vc2NoZWQuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaApAQCAtNjE2LDYgKzYxNiwx MSBAQCB2b2lkIF9fZG9tYWluX2NyYXNoKHN0cnVjdCBkb21haW4gKmQpOwogICAgIF9fZG9tYWlu X2NyYXNoKGQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCiB9IHdoaWxlICgwKQogCisjZGVmaW5lIGRvbXVfY3Jhc2goZCkgZG8geyAgICAgICAg ICAgICAgICBcCisgICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGQpICkgICAgICAgICBcCisg ICAgICAgIGRvbWFpbl9jcmFzaChkKTsgICAgICAgICAgICAgICAgICBcCit9IHdoaWxlIChmYWxz ZSkKKwogLyoKICAqIENhbGxlZCBmcm9tIGFzc2VtYmx5IGNvZGUsIHdpdGggYW4gb3B0aW9uYWwg YWRkcmVzcyB0byBoZWxwIGluZGljYXRlIHdoeQogICogdGhlIGNyYXNoIG9jY3VyZWQuICBJZiBh ZGRyIGlzIDAsIGxvb2sgdXAgYWRkcmVzcyBmcm9tIGxhc3QgZXh0YWJsZQotLSAKMi4xMS4wCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==