From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v9 18/27] xsplice: Add support for exception tables. Date: Mon, 25 Apr 2016 11:35:05 -0400 Message-ID: <1461598514-5440-19-git-send-email-konrad.wilk@oracle.com> References: <1461598514-5440-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1auiYR-00042Y-5k for xen-devel@lists.xenproject.org; Mon, 25 Apr 2016 15:36:07 +0000 In-Reply-To: <1461598514-5440-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: konrad@kernel.org, xen-devel@lists.xenproject.org, sasha.levin@oracle.com, andrew.cooper3@citrix.com, ross.lagerwall@citrix.com, mpohlack@amazon.de Cc: Keir Fraser , Jan Beulich , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9zcyBMYWdlcndhbGwgPHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+CgpBZGQgc3Vw cG9ydCBmb3IgZXhjZXB0aW9uIHRhYmxlcyBjb250YWluZWQgd2l0aGluIHhTcGxpY2UgcGF5bG9h ZHMuIElmIGFuCmV4Y2VwdGlvbiBvY2N1cnMgc2VhcmNoIGVpdGhlciB0aGUgbWFpbiBleGNlcHRp b24gdGFibGUgb3IgYSBwYXJ0aWN1bGFyCmFjdGl2ZSBwYXlsb2FkJ3MgZXhjZXB0aW9uIHRhYmxl IGRlcGVuZGluZyBvbiB0aGUgaW5zdHJ1Y3Rpb24gcG9pbnRlci4KCkFsc28gd2UgYWRkIGFuIHRl c3QtY2FzZSB0byBtYWtlIHN1cmUgd2UgaGF2ZSBhbiBleGNlcHRpb24gdGhhdAppcyBoYW5kbGVk LgoKVG8gbm90IGdyb3cgdGhlIGNvZGUtYmFzZSBpZiB4U3BsaWNlIGlzIG5vdCBjb21waWxlZCBp biB3ZSBhZGQKY2VydGFpbiAjZGVmaW5lIHRvIGhlbHAgaW4gZGV0ZXJtaW5pbmcgaWYgY29kZSBu ZWVkcyB0byBiZSBfX2luaXQKb3Igbm90LgoKU2lnbmVkLW9mZi1ieTogUm9zcyBMYWdlcndhbGwg PHJvc3MubGFnZXJ3YWxsQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IEtvbnJhZCBSemVzenV0 ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDYzogS2VpciBGcmFzZXIgPGtlaXJA eGVuLm9yZz4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBD b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Cgp2MzoKIC0gcy9tb2R1bGUvcGF5bG9h ZC8KIC0gc2FuaXR5IGNoZWNrcy4KIC0gTW92ZSBjb2RlIGFyb3VuZC4KIC0gcy9tb2R1bGUvcGF5 bG9hZC8KdjQ6IFVzZSAnc3RydWN0IHZpcnR1YWxfcmVnaW9uJwp2NToKICAtIEV4cGFuZCB0ZXN0 LWNhc2UuCiAgLSBEZWFsIHdpdGggc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSBiZWluZyBj b25zdC4KdjY6CiAtIE1ha2UgdGhlIGNvZGUgaGF2ZSBfX2luaXQgaWYgbm90IGNvbXBpbGVkIHdp dGggeFNwbGljZQogLSBSZW1vdmUgbm90IG5lZWRlZCBkZWNsYXJhdGlvbnMuCnY3OgogLSBNYWtl IHRoZSBub25fY2Fub25pY2FsX2FkZHIgYmUgMHhkZWFkMDAwMDAwMDAwMDAwVUxMCiAtIFJlbW92 ZSBjYXN0cwogLSBBZGQgUmV2aWV3ZWQtYnkgZnJvbSBBbmRyZXcKIC0gQ2hhbmdlIGlmZGVmIHRv IGJlICFBUk0Kdjg6CiAtIENoYW5nZSBkcHJpbnRrIFhFTkxPR19ERUJVRyB0byBYRU5MT0dfRVJS IG9uIGRwcmludGsuCiAtIFJlbW92ZSBwb2ludGxlc3MgcGFyZW50aGVzZXMgb24gMHhkZWFkLi4u CiAtIENoYW5nZWQgX19JTklULi4gdG8gaW5pdF9vcl94c3BsaWNlCiAtIEFkZGVkIGNvbnN0IHRv IHNvcnRfZXhjZXB0aW9uX3RhYmxlIGxhc3QgcGFyYW1ldGVyLgogLSBBZGRlZCBfX2luaXRjb25z dHJlbCAjZGVmaW5lCi0tLQogeGVuL2FyY2gveDg2L2V4dGFibGUuYyAgICAgICAgICAgICAgICAg ICB8IDMxICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni90ZXN0 L3hlbl9oZWxsb193b3JsZF9mdW5jLmMgfCAxMyArKysrKysrKysrKysrCiB4ZW4vY29tbW9uL3hz cGxpY2UuYyAgICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysr KwogeGVuL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNzLmggICAgICAgICAgICB8ICAyICsrCiB4ZW4v aW5jbHVkZS94ZW4veHNwbGljZS5oICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysr KysrKwogNSBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZXh0YWJsZS5jIGIveGVuL2FyY2gveDg2L2V4dGFi bGUuYwppbmRleCAyYTA2Y2NhLi4zNDlkZjc5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZXh0 YWJsZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9leHRhYmxlLmMKQEAgLTcsNiArNyw3IEBACiAjaW5j bHVkZSA8eGVuL3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4KICNpbmNsdWRl IDx4ZW4vdmlydHVhbF9yZWdpb24uaD4KKyNpbmNsdWRlIDx4ZW4veHNwbGljZS5oPgogCiAjZGVm aW5lIEVYX0ZJRUxEKHB0ciwgZmllbGQpICgodW5zaWduZWQgbG9uZykmKHB0ciktPmZpZWxkICsg KHB0ciktPmZpZWxkKQogCkBAIC0yMCw3ICsyMSw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg bG9uZyBleF9jb250KGNvbnN0IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKngpCiAJcmV0 dXJuIEVYX0ZJRUxEKHgsIGNvbnQpOwogfQogCi1zdGF0aWMgaW50IF9faW5pdCBjbXBfZXgoY29u c3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3N0YXRpYyBpbnQgaW5pdF9vcl94c3BsaWNlIGNt cF9leChjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQogewogCWNvbnN0IHN0cnVjdCBleGNl cHRpb25fdGFibGVfZW50cnkgKmwgPSBhLCAqciA9IGI7CiAJdW5zaWduZWQgbG9uZyBsaXAgPSBl eF9hZGRyKGwpOwpAQCAtMzUsNyArMzYsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBjbXBfZXgoY29u c3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKIH0KIAogI2lmbmRlZiBzd2FwX2V4Ci1zdGF0aWMg dm9pZCBfX2luaXQgc3dhcF9leCh2b2lkICphLCB2b2lkICpiLCBpbnQgc2l6ZSkKK3N0YXRpYyB2 b2lkIGluaXRfb3JfeHNwbGljZSBzd2FwX2V4KHZvaWQgKmEsIHZvaWQgKmIsIGludCBzaXplKQog ewogCXN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKmwgPSBhLCAqciA9IGIsIHRtcDsKIAls b25nIGRlbHRhID0gYiAtIGE7CkBAIC00OCwxOSArNDksMjMgQEAgc3RhdGljIHZvaWQgX19pbml0 IHN3YXBfZXgodm9pZCAqYSwgdm9pZCAqYiwgaW50IHNpemUpCiB9CiAjZW5kaWYKIAotdm9pZCBf X2luaXQgc29ydF9leGNlcHRpb25fdGFibGVzKHZvaWQpCit2b2lkIGluaXRfb3JfeHNwbGljZSBz b3J0X2V4Y2VwdGlvbl90YWJsZShzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICpzdGFydCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBleGNlcHRpb25f dGFibGVfZW50cnkgKnN0b3ApCiB7Ci0gICAgc29ydChfX3N0YXJ0X19fZXhfdGFibGUsIF9fc3Rv cF9fX2V4X3RhYmxlIC0gX19zdGFydF9fX2V4X3RhYmxlLAotICAgICAgICAgc2l6ZW9mKHN0cnVj dCBleGNlcHRpb25fdGFibGVfZW50cnkpLCBjbXBfZXgsIHN3YXBfZXgpOwotICAgIHNvcnQoX19z dGFydF9fX3ByZV9leF90YWJsZSwKLSAgICAgICAgIF9fc3RvcF9fX3ByZV9leF90YWJsZSAtIF9f c3RhcnRfX19wcmVfZXhfdGFibGUsCisgICAgc29ydChzdGFydCwgc3RvcCAtIHN0YXJ0LAogICAg ICAgICAgc2l6ZW9mKHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkpLCBjbXBfZXgsIHN3YXBf ZXgpOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcKLXNlYXJjaF9vbmVfdGFibGUo Y29uc3Qgc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqZmlyc3QsCi0gICAgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKmxhc3QsCi0gICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgdmFsdWUpCit2b2lkIF9faW5pdCBzb3J0X2V4Y2VwdGlvbl90 YWJsZXModm9pZCkKK3sKKyAgICBzb3J0X2V4Y2VwdGlvbl90YWJsZShfX3N0YXJ0X19fZXhfdGFi bGUsIF9fc3RvcF9fX2V4X3RhYmxlKTsKKyAgICBzb3J0X2V4Y2VwdGlvbl90YWJsZShfX3N0YXJ0 X19fcHJlX2V4X3RhYmxlLCBfX3N0b3BfX19wcmVfZXhfdGFibGUpOworfQorCit1bnNpZ25lZCBs b25nCitzZWFyY2hfb25lX2V4dGFibGUoY29uc3Qgc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRy eSAqZmlyc3QsCisgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGV4Y2VwdGlvbl90YWJs ZV9lbnRyeSAqbGFzdCwKKyAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHZhbHVlKQog ewogICAgIGNvbnN0IHN0cnVjdCBleGNlcHRpb25fdGFibGVfZW50cnkgKm1pZDsKICAgICBsb25n IGRpZmY7CkBAIC04NSw3ICs5MCw3IEBAIHNlYXJjaF9leGNlcHRpb25fdGFibGUodW5zaWduZWQg bG9uZyBhZGRyKQogICAgIGNvbnN0IHN0cnVjdCB2aXJ0dWFsX3JlZ2lvbiAqcmVnaW9uID0gZmlu ZF90ZXh0X3JlZ2lvbihhZGRyKTsKIAogICAgIGlmICggcmVnaW9uICYmIHJlZ2lvbi0+ZXggKQot ICAgICAgICByZXR1cm4gc2VhcmNoX29uZV90YWJsZShyZWdpb24tPmV4LCByZWdpb24tPmV4X2Vu ZCAtIDEsIGFkZHIpOworICAgICAgICByZXR1cm4gc2VhcmNoX29uZV9leHRhYmxlKHJlZ2lvbi0+ ZXgsIHJlZ2lvbi0+ZXhfZW5kIC0gMSwgYWRkcik7CiAKICAgICByZXR1cm4gMDsKIH0KQEAgLTk0 LDcgKzk5LDcgQEAgdW5zaWduZWQgbG9uZwogc2VhcmNoX3ByZV9leGNlcHRpb25fdGFibGUoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBhZGRyID0gKHVu c2lnbmVkIGxvbmcpcmVncy0+ZWlwOwotICAgIHVuc2lnbmVkIGxvbmcgZml4dXAgPSBzZWFyY2hf b25lX3RhYmxlKAorICAgIHVuc2lnbmVkIGxvbmcgZml4dXAgPSBzZWFyY2hfb25lX2V4dGFibGUo CiAgICAgICAgIF9fc3RhcnRfX19wcmVfZXhfdGFibGUsIF9fc3RvcF9fX3ByZV9leF90YWJsZS0x LCBhZGRyKTsKICAgICBpZiAoIGZpeHVwICkKICAgICB7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jIGIveGVuL2FyY2gveDg2L3Rlc3QveGVuX2hl bGxvX3dvcmxkX2Z1bmMuYwppbmRleCAxYWQwMDJhLi4yZTRhZjljIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90 ZXN0L3hlbl9oZWxsb193b3JsZF9mdW5jLmMKQEAgLTUsOSArNSwyMiBAQAogCiAjaW5jbHVkZSA8 eGVuL3R5cGVzLmg+CiAKKyNpbmNsdWRlIDxhc20vdWFjY2Vzcy5oPgorCitzdGF0aWMgdW5zaWdu ZWQgbG9uZyAqbm9uX2Nhbm9uaWNhbF9hZGRyID0gKHVuc2lnbmVkIGxvbmcgKikweGRlYWQwMDAw MDAwMDAwMDBVTEw7CisKIC8qIE91ciByZXBsYWNlbWVudCBmdW5jdGlvbiBmb3IgeGVuX2V4dHJh X3ZlcnNpb24uICovCiBjb25zdCBjaGFyICp4ZW5faGVsbG9fd29ybGQodm9pZCkKIHsKKyAgICB1 bnNpZ25lZCBsb25nIHRtcDsKKyAgICBpbnQgcmM7CisgICAgLyoKKyAgICAgKiBBbnkgQlVHLCBv ciBXQVJOX09OIHdpbGwgY29udGFpbiBzeW1ib2wgYW5kIHBheWxvYWQgbmFtZS4gRnVydGhlcm1v cmUKKyAgICAgKiBleGNlcHRpb25zIHdpbGwgYmUgY2F1Z2h0IGFuZCBwcm9jZXNzZWQgcHJvcGVy bHkuCisgICAgICovCisgICAgcmMgPSBfX2dldF91c2VyKHRtcCwgbm9uX2Nhbm9uaWNhbF9hZGRy KTsKKyAgICBCVUdfT04ocmMgIT0gLUVGQVVMVCk7CisKICAgICByZXR1cm4gIkhlbGxvIFdvcmxk IjsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi94c3BsaWNlLmMgYi94ZW4vY29tbW9uL3hz cGxpY2UuYwppbmRleCAxMWIxOWRkLi5mNjgwNjJmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3hz cGxpY2UuYworKysgYi94ZW4vY29tbW9uL3hzcGxpY2UuYwpAQCAtNTMzLDYgKzUzMywzMSBAQCBz dGF0aWMgaW50IHByZXBhcmVfcGF5bG9hZChzdHJ1Y3QgcGF5bG9hZCAqcGF5bG9hZCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoKnJlZ2lvbi0+ZnJhbWVbaV0uYnVn cyk7CiAgICAgfQogCisjaWZuZGVmIENPTkZJR19BUk0KKyAgICBzZWMgPSB4c3BsaWNlX2VsZl9z ZWNfYnlfbmFtZShlbGYsICIuZXhfdGFibGUiKTsKKyAgICBpZiAoIHNlYyApCisgICAgeworICAg ICAgICBzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxlX2VudHJ5ICpzLCAqZTsKKworICAgICAgICBpZiAo ICFzZWMtPnNlYy0+c2hfc2l6ZSB8fAorICAgICAgICAgICAgIChzZWMtPnNlYy0+c2hfc2l6ZSAl IHNpemVvZigqcmVnaW9uLT5leCkpICkKKyAgICAgICAgeworICAgICAgICAgICAgZHByaW50ayhY RU5MT0dfRVJSLCBYU1BMSUNFICIlczogV3Jvbmcgc2l6ZSBvZiAuZXhfdGFibGUgKGV4cDolbHUg dnMgJWx1KSFcbiIsCisgICAgICAgICAgICAgICAgICAgIGVsZi0+bmFtZSwgc2l6ZW9mKCpyZWdp b24tPmV4KSwKKyAgICAgICAgICAgICAgICAgICAgc2VjLT5zZWMtPnNoX3NpemUpOworICAgICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAgIH0KKworICAgICAgICBzID0gc2VjLT5sb2Fk X2FkZHI7CisgICAgICAgIGUgPSBzZWMtPmxvYWRfYWRkciArIHNlYy0+c2VjLT5zaF9zaXplOwor CisgICAgICAgIHNvcnRfZXhjZXB0aW9uX3RhYmxlKHMgLGUpOworCisgICAgICAgIHJlZ2lvbi0+ ZXggPSBzOworICAgICAgICByZWdpb24tPmV4X2VuZCA9IGU7CisgICAgfQorI2VuZGlmCisKICAg ICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni91YWNjZXNz LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaAppbmRleCA5NDc0NzBkLi41ZGYyNmMy IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3VhY2Nlc3MuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L3VhY2Nlc3MuaApAQCAtMjc3LDUgKzI3Nyw3IEBAIGV4dGVybiBzdHJ1Y3Qg ZXhjZXB0aW9uX3RhYmxlX2VudHJ5IF9fc3RvcF9fX3ByZV9leF90YWJsZVtdOwogCiBleHRlcm4g dW5zaWduZWQgbG9uZyBzZWFyY2hfZXhjZXB0aW9uX3RhYmxlKHVuc2lnbmVkIGxvbmcpOwogZXh0 ZXJuIHZvaWQgc29ydF9leGNlcHRpb25fdGFibGVzKHZvaWQpOworZXh0ZXJuIHZvaWQgc29ydF9l eGNlcHRpb25fdGFibGUoc3RydWN0IGV4Y2VwdGlvbl90YWJsZV9lbnRyeSAqc3RhcnQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZXhjZXB0aW9uX3RhYmxl X2VudHJ5ICpzdG9wKTsKIAogI2VuZGlmIC8qIF9fWDg2X1VBQ0NFU1NfSF9fICovCmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS94ZW4veHNwbGljZS5oIGIveGVuL2luY2x1ZGUveGVuL3hzcGxpY2Uu aAppbmRleCA3ZjRjOGY3Li5jYmRiZmYxIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4veHNw bGljZS5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi94c3BsaWNlLmgKQEAgLTE0LDYgKzE0LDE2IEBA IHN0cnVjdCB4ZW5fc3lzY3RsX3hzcGxpY2Vfb3A7CiAjaW5jbHVkZSA8eGVuL2VsZnN0cnVjdHMu aD4KICNpZmRlZiBDT05GSUdfWFNQTElDRQogCisvKgorICogV2UgdXNlIGFsdGVybmF0aXZlIGFu ZCBleGNlcHRpb24gdGFibGUgY29kZSAtIHdoaWNoIGJ5IGRlZmF1bHQgYXJlIF9faW5pdAorICog b25seSwgaG93ZXZlciB3ZSBuZWVkIHRoZW0gZHVyaW5nIHJ1bnRpbWUuIFRoZXNlIG1hY3JvcyBh bGxvd3MgdXMgdG8gYnVpbGQKKyAqIHRoZSBpbWFnZSB3aXRoIHRoZXNlIGZ1bmN0aW9ucyBidWls dC1pbi4gKFNlZSB0aGUgI2Vsc2UgYmVsb3cpLgorICovCisjZGVmaW5lIGluaXRfb3JfeHNwbGlj ZV9jb25zdAorI2RlZmluZSBpbml0X29yX3hzcGxpY2VfY29uc3RyZWwKKyNkZWZpbmUgaW5pdF9v cl94c3BsaWNlX2RhdGEKKyNkZWZpbmUgaW5pdF9vcl94c3BsaWNlCisKIC8qIENvbnZlbmllbmNl IGRlZmluZSBmb3IgcHJpbnRrLiAqLwogI2RlZmluZSBYU1BMSUNFICAgICAgICAgICAgICJ4c3Bs aWNlOiAiCiAvKiBFTEYgcGF5bG9hZCBzcGVjaWFsIHNlY3Rpb24gbmFtZXMuICovCkBAIC03MCw2 ICs4MCwxNSBAQCB2b2lkIGFyY2hfeHNwbGljZV9tYXNrKHZvaWQpOwogdm9pZCBhcmNoX3hzcGxp Y2VfdW5tYXNrKHZvaWQpOwogI2Vsc2UKIAorLyoKKyAqIElmIG5vdCBjb21waWxpbmcgd2l0aCB4 U3BsaWNlIGNlcnRhaW4gZnVuY3Rpb25hbGl0eSBzaG91bGQgc3RheSBhcworICogX19pbml0Lgor ICovCisjZGVmaW5lIGluaXRfb3JfeHNwbGljZV9jb25zdCAgICAgICBfX2luaXRjb25zdAorI2Rl ZmluZSBpbml0X29yX3hzcGxpY2VfY29uc3RyZWwgICAgX19pbml0Y29uc3RyZWwKKyNkZWZpbmUg aW5pdF9vcl94c3BsaWNlX2RhdGEgICAgICAgIF9faW5pdGRhdGEKKyNkZWZpbmUgaW5pdF9vcl94 c3BsaWNlICAgICAgICAgICAgIF9faW5pdAorCiAjaW5jbHVkZSA8eGVuL2Vycm5vLmg+IC8qIEZv ciAtRU5PU1lTICovCiBzdGF0aWMgaW5saW5lIGludCB4c3BsaWNlX29wKHN0cnVjdCB4ZW5fc3lz Y3RsX3hzcGxpY2Vfb3AgKm9wKQogewotLSAKMi41LjAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=