From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3C233C4345F for ; Wed, 1 May 2024 08:23:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ZZ0dYBfbkEXAbG9AcVPbuq7zDVRpHs3mX7outXOjs9g=; b=fivJXHMbc43GqT vc5xrLWovPE63eaEWfbKgOPtsbNT/GBVOpYawgLjMP4Ivo/o3ElHi+kOUK/NuOAQAkPRNvSR6r8uy TxZKH6MAgs2IoG1IrPeJ5aM2bCK1LPpNrNIgtYCufrU+k2JUYfbJuhXHAEmjzckHuzv0h/2D7Xu0L GjS9N9lnWdJxHS7WaT0UoG78ebng97Rx/A+j+bxGTRJJI3qplwsYnY35XXV6dV0dxqAMUTEU7Ig6h pX6wALCv9xi0Fn0uIHJBHiaLWMjb90LXdMbFK7zN3vDsXSvtVAA1N3a4R0S7KCIA6GT92RScrvsMb bgGc3tfADoqnz/g98xbg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s25FS-00000008qXx-3bTI; Wed, 01 May 2024 08:23:30 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s25FO-00000008qWq-054t for linux-arm-kernel@lists.infradead.org; Wed, 01 May 2024 08:23:28 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 118A02F4; Wed, 1 May 2024 01:23:49 -0700 (PDT) Received: from [192.168.1.100] (usa-sjc-mx-foss1.foss.arm.com [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 96B0F3F793; Wed, 1 May 2024 01:23:20 -0700 (PDT) Message-ID: Date: Wed, 1 May 2024 09:23:19 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] perf cs-etm: Improve version detection and error reporting To: Ian Rogers Cc: linux-perf-users@vger.kernel.org, coresight@lists.linaro.org, Suzuki K Poulose , Mike Leach , John Garry , Will Deacon , Leo Yan , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , "Liang, Kan" , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20240430133221.250811-1-james.clark@arm.com> Content-Language: en-US From: James Clark In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240501_012326_174161_F48084AE X-CRM114-Status: GOOD ( 32.11 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAzMC8wNC8yMDI0IDE3OjIyLCBJYW4gUm9nZXJzIHdyb3RlOgo+IE9uIFR1ZSwgQXByIDMw LCAyMDI0IGF0IDY6MzLigK9BTSBKYW1lcyBDbGFyayA8amFtZXMuY2xhcmtAYXJtLmNvbT4gd3Jv dGU6Cj4+Cj4+IFdoZW4gdGhlIGNvbmZpZyB2YWxpZGF0aW9uIGZ1bmN0aW9ucyBhcmUgd2Fybmlu ZyBhYm91dCBFVE12MywgdGhleSBkbyBpdAo+PiBiYXNlZCBvbiAibm90IEVUTXY0Ii4gSWYgdGhl IGRyaXZlcnMgYXJlbid0IGFsbCBsb2FkZWQgb3IgdGhlIGhhcmR3YXJlCj4+IGRvZXNuJ3Qgc3Vw cG9ydCBDb3Jlc2lnaHQgaXQgd2lsbCBhcHBlYXIgYXMgIm5vdCBFVE12NCIgYW5kIHRoZW4gUGVy Zgo+PiB3aWxsIHByaW50IHRoZSBlcnJvciBtZXNzYWdlICIuLi4gbm90IHN1cHBvcnRlZCBpbiBF VE12MyAuLi4iIHdoaWNoIGlzCj4+IHdyb25nIGFuZCBjb25mdXNpbmcuCj4+Cj4+IGNzX2V0bV9p c19ldG12NCgpIGlzIGFsc28gbWlzbmFtZWQgYmVjYXVzZSBpdCBhbHNvIHJldHVybnMgdHJ1ZSBm b3IKPj4gRVRFIGJlY2F1c2UgRVRFIGhhcyBhIHN1cGVyc2V0IG9mIHRoZSBFVE12NCBtZXRhZGF0 YSBmaWxlcy4gQWx0aG91Z2gKPj4gdGhpcyB3YXMgYWx3YXlzIGRvbmUgaW4gdGhlIGNvcnJlY3Qg b3JkZXIgc28gaXQgd2Fzbid0IGEgYnVnLgo+Pgo+PiBJbXByb3ZlIGFsbCB0aGlzIGJ5IG1ha2lu ZyBhIHNpbmdsZSBnZXQgdmVyc2lvbiBmdW5jdGlvbiB3aGljaCBhbHNvCj4+IGhhbmRsZXMgbm90 IHByZXNlbnQgYXMgYSBzZXBhcmF0ZSBjYXNlLiBDaGFuZ2UgdGhlIEVUTXYzIGVycm9yIG1lc3Nh Z2UKPj4gdG8gb25seSBwcmludCB3aGVuIEVUTXYzIGlzIGRldGVjdGVkLCBhbmQgYWRkIGEgbmV3 IGVycm9yIG1lc3NhZ2UgZm9yCj4+IHRoZSBub3QgcHJlc2VudCBjYXNlLgo+Pgo+PiBTaWduZWQt b2ZmLWJ5OiBKYW1lcyBDbGFyayA8amFtZXMuY2xhcmtAYXJtLmNvbT4KPj4gLS0tCj4+ICB0b29s cy9wZXJmL2FyY2gvYXJtL3V0aWwvY3MtZXRtLmMgfCA2NCArKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tCj4+ICAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRp b25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS90b29scy9wZXJmL2FyY2gvYXJtL3V0aWwvY3MtZXRt LmMgYi90b29scy9wZXJmL2FyY2gvYXJtL3V0aWwvY3MtZXRtLmMKPj4gaW5kZXggMDdiZTMyZDk5 ODA1Li4yNzYzYzY3NThiOTEgMTAwNjQ0Cj4+IC0tLSBhL3Rvb2xzL3BlcmYvYXJjaC9hcm0vdXRp bC9jcy1ldG0uYwo+PiArKysgYi90b29scy9wZXJmL2FyY2gvYXJtL3V0aWwvY3MtZXRtLmMKPj4g QEAgLTY2LDkgKzY2LDI1IEBAIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbWV0YWRhdGFfZXRl X3JvW10gPSB7Cj4+ICAgICAgICAgW0NTX0VURV9UU19TT1VSQ0VdICAgICAgICAgICAgICA9ICJ0 c19zb3VyY2UiLAo+PiAgfTsKPj4KPj4gLXN0YXRpYyBib29sIGNzX2V0bV9pc19ldG12NChzdHJ1 Y3QgYXV4dHJhY2VfcmVjb3JkICppdHIsIGludCBjcHUpOwo+PiArZW51bSBjc19ldG1fdmVyc2lv biB7IENTX05PVF9QUkVTRU5ULCBDU19FVE1WMywgQ1NfRVRNVjQsIENTX0VURSB9Owo+PiArCj4+ ICtzdGF0aWMgYm9vbCBjc19ldG1fcG11X2ZpbGVfcHJlc2VudChzdHJ1Y3QgYXV4dHJhY2VfcmVj b3JkICppdHIsIGludCBjcHUsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGNoYXIgKmZpbGUpOwo+PiAgc3RhdGljIGJvb2wgY3NfZXRtX2lzX2V0ZShzdHJ1 Y3QgYXV4dHJhY2VfcmVjb3JkICppdHIsIGludCBjcHUpOwo+Pgo+PiArc3RhdGljIGVudW0gY3Nf ZXRtX3ZlcnNpb24gY3NfZXRtX2dldF92ZXJzaW9uKHN0cnVjdCBhdXh0cmFjZV9yZWNvcmQgKml0 ciwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBj cHUpCj4gCj4gbml0OiBwZXJoYXBzIHVzZSAic3RydWN0IHBlcmZfY3B1IiByYXRoZXIgdGhhbiAi aW50IGNwdSIgZm9yIGEgbGl0dGxlCj4gYml0IG9mIHR5cGUgc2FmZXR5LiBGd2l3LCBtb3N0IG9m IHRoZSB0b29sIHVzZXMgYW4gaW5kZXggaW50byBhIENQVQo+IG1hcCBidXQgdGhlbiBoYXZlIGxh YmVsbGVkIHRoYXQgaW5kZXggImNwdSIgd2hpY2ggaXMgY29uZnVzaW5nCj4gcGFydGljdWxhcmx5 IGluIHRoZSB1bmNvcmUgY2FzZSwgd2hpbHN0IGEgcGVyZl9jcHUgaXMgbmV2ZXIgYW4gaW5kZXgu Cj4gCj4gUmV2aWV3ZWQtYnk6IElhbiBSb2dlcnMgPGlyb2dlcnNAZ29vZ2xlLmNvbT4KPiAKPiBU aGFua3MsCj4gSWFuCj4gCgpZZWFoIEkgd2lsbCBtYWtlIHRoYXQgY2hhbmdlLiBUaGVyZSBhcmUg cXVpdGUgYSBmZXcgZWFybHkgY29udmVyc2lvbnMKZnJvbSB0aGUgc3RydWN0IHRvIHRoZSBpbnQg dGhhdCBjYW4gYmUgcHVzaGVkIGFsbCB0aGUgd2F5IGRvd24gdG8gZmlsZSBvcGVuLgoKPj4gK3sK Pj4gKyAgICAgICBpZiAoY3NfZXRtX2lzX2V0ZShpdHIsIGNwdSkpCj4+ICsgICAgICAgICAgICAg ICByZXR1cm4gQ1NfRVRFOwo+PiArICAgICAgIGVsc2UgaWYgKGNzX2V0bV9wbXVfZmlsZV9wcmVz ZW50KGl0ciwgY3B1LCBtZXRhZGF0YV9ldG12NF9yb1tDU19FVE1WNF9UUkNJRFIwXSkpCj4+ICsg ICAgICAgICAgICAgICByZXR1cm4gQ1NfRVRNVjQ7Cj4+ICsgICAgICAgZWxzZSBpZiAoY3NfZXRt X3BtdV9maWxlX3ByZXNlbnQoaXRyLCBjcHUsIG1ldGFkYXRhX2V0bXYzX3JvW0NTX0VUTV9FVE1D Q0VSXSkpCj4+ICsgICAgICAgICAgICAgICByZXR1cm4gQ1NfRVRNVjM7Cj4+ICsKPj4gKyAgICAg ICByZXR1cm4gQ1NfTk9UX1BSRVNFTlQ7Cj4+ICt9Cj4+ICsKPj4gIHN0YXRpYyBpbnQgY3NfZXRt X3ZhbGlkYXRlX2NvbnRleHRfaWQoc3RydWN0IGF1eHRyYWNlX3JlY29yZCAqaXRyLAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBldnNlbCAqZXZzZWwsIGlu dCBjcHUpCj4+ICB7Cj4+IEBAIC04Nyw3ICsxMDMsNyBAQCBzdGF0aWMgaW50IGNzX2V0bV92YWxp ZGF0ZV9jb250ZXh0X2lkKHN0cnVjdCBhdXh0cmFjZV9yZWNvcmQgKml0ciwKPj4gICAgICAgICAg ICAgICAgIHJldHVybiAwOwo+Pgo+PiAgICAgICAgIC8qIE5vdCBzdXBwb3J0ZWQgaW4gZXRtdjMg Ki8KPj4gLSAgICAgICBpZiAoIWNzX2V0bV9pc19ldG12NChpdHIsIGNwdSkpIHsKPj4gKyAgICAg ICBpZiAoY3NfZXRtX2dldF92ZXJzaW9uKGl0ciwgY3B1KSA9PSBDU19FVE1WMykgewo+PiAgICAg ICAgICAgICAgICAgcHJfZXJyKCIlczogY29udGV4dGlkIG5vdCBzdXBwb3J0ZWQgaW4gRVRNdjMs IGRpc2FibGUgd2l0aCAlcy9jb250ZXh0aWQ9MC9cbiIsCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgQ09SRVNJR0hUX0VUTV9QTVVfTkFNRSwgQ09SRVNJR0hUX0VUTV9QTVVfTkFNRSk7Cj4+ICAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPj4gQEAgLTE1NCw3ICsxNzAsNyBAQCBzdGF0 aWMgaW50IGNzX2V0bV92YWxpZGF0ZV90aW1lc3RhbXAoc3RydWN0IGF1eHRyYWNlX3JlY29yZCAq aXRyLAo+PiAgICAgICAgICAgICAgIHBlcmZfcG11X19mb3JtYXRfYml0cyhjc19ldG1fcG11LCAi dGltZXN0YW1wIikpKQo+PiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cj4+Cj4+IC0gICAgICAg aWYgKCFjc19ldG1faXNfZXRtdjQoaXRyLCBjcHUpKSB7Cj4+ICsgICAgICAgaWYgKGNzX2V0bV9n ZXRfdmVyc2lvbihpdHIsIGNwdSkgPT0gQ1NfRVRNVjMpIHsKPj4gICAgICAgICAgICAgICAgIHBy X2VycigiJXM6IHRpbWVzdGFtcCBub3Qgc3VwcG9ydGVkIGluIEVUTXYzLCBkaXNhYmxlIHdpdGgg JXMvdGltZXN0YW1wPTAvXG4iLAo+PiAgICAgICAgICAgICAgICAgICAgICAgIENPUkVTSUdIVF9F VE1fUE1VX05BTUUsIENPUkVTSUdIVF9FVE1fUE1VX05BTUUpOwo+PiAgICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7Cj4+IEBAIC0yMTgsNiArMjM0LDExIEBAIHN0YXRpYyBpbnQgY3NfZXRt X3ZhbGlkYXRlX2NvbmZpZyhzdHJ1Y3QgYXV4dHJhY2VfcmVjb3JkICppdHIsCj4+ICAgICAgICAg fQo+Pgo+PiAgICAgICAgIHBlcmZfY3B1X21hcF9fZm9yX2VhY2hfY3B1X3NraXBfYW55KGNwdSwg aWR4LCBpbnRlcnNlY3RfY3B1cykgewo+PiArICAgICAgICAgICAgICAgaWYgKGNzX2V0bV9nZXRf dmVyc2lvbihpdHIsIGNwdS5jcHUpID09IENTX05PVF9QUkVTRU5UKSB7Cj4+ICsgICAgICAgICAg ICAgICAgICAgICAgIHByX2VycigiJXM6IE5vdCBmb3VuZCBvbiBDUFUgJWQuIENoZWNrIGhhcmR3 YXJlIGFuZCBmaXJtd2FyZSBzdXBwb3J0IGFuZCB0aGF0IGFsbCBDb3Jlc2lnaHQgZHJpdmVycyBh cmUgbG9hZGVkXG4iLAo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09SRVNJR0hU X0VUTV9QTVVfTkFNRSwgY3B1LmNwdSk7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwo+PiArICAgICAgICAgICAgICAgfQo+PiAgICAgICAgICAgICAgICAgZXJyID0g Y3NfZXRtX3ZhbGlkYXRlX2NvbnRleHRfaWQoaXRyLCBldnNlbCwgY3B1LmNwdSk7Cj4+ICAgICAg ICAgICAgICAgICBpZiAoZXJyKQo+PiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPj4g QEAgLTU0OCwxMyArNTY5LDEzIEBAIGNzX2V0bV9pbmZvX3ByaXZfc2l6ZShzdHJ1Y3QgYXV4dHJh Y2VfcmVjb3JkICppdHIgX19tYXliZV91bnVzZWQsCj4+ICAgICAgICAgICAgICAgICAvKiBFdmVu dCBjYW4gYmUgImFueSIgQ1BVIHNvIGNvdW50IGFsbCBvbmxpbmUgQ1BVcy4gKi8KPj4gICAgICAg ICAgICAgICAgIGludGVyc2VjdF9jcHVzID0gcGVyZl9jcHVfbWFwX19uZXdfb25saW5lX2NwdXMo KTsKPj4gICAgICAgICB9Cj4+ICsgICAgICAgLyogQ291bnQgbnVtYmVyIG9mIGVhY2ggdHlwZSBv ZiBFVE0uIERvbid0IGNvdW50IGlmIHRoYXQgQ1BVIGhhcyBDU19OT1RfUFJFU0VOVC4gKi8KPj4g ICAgICAgICBwZXJmX2NwdV9tYXBfX2Zvcl9lYWNoX2NwdV9za2lwX2FueShjcHUsIGlkeCwgaW50 ZXJzZWN0X2NwdXMpIHsKPj4gLSAgICAgICAgICAgICAgIGlmIChjc19ldG1faXNfZXRlKGl0ciwg Y3B1LmNwdSkpCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGV0ZSsrOwo+PiAtICAgICAgICAg ICAgICAgZWxzZSBpZiAoY3NfZXRtX2lzX2V0bXY0KGl0ciwgY3B1LmNwdSkpCj4+IC0gICAgICAg ICAgICAgICAgICAgICAgIGV0bXY0Kys7Cj4+IC0gICAgICAgICAgICAgICBlbHNlCj4+IC0gICAg ICAgICAgICAgICAgICAgICAgIGV0bXYzKys7Cj4+ICsgICAgICAgICAgICAgICBlbnVtIGNzX2V0 bV92ZXJzaW9uIHYgPSBjc19ldG1fZ2V0X3ZlcnNpb24oaXRyLCBjcHUuY3B1KTsKPj4gKwo+PiAr ICAgICAgICAgICAgICAgZXRlICAgKz0gdiA9PSBDU19FVEU7Cj4+ICsgICAgICAgICAgICAgICBl dG12NCArPSB2ID09IENTX0VUTVY0Owo+PiArICAgICAgICAgICAgICAgZXRtdjMgKz0gdiA9PSBD U19FVE1WMzsKPj4gICAgICAgICB9Cj4+ICAgICAgICAgcGVyZl9jcHVfbWFwX19wdXQoaW50ZXJz ZWN0X2NwdXMpOwo+Pgo+PiBAQCAtNTY0LDcgKzU4NSw4IEBAIGNzX2V0bV9pbmZvX3ByaXZfc2l6 ZShzdHJ1Y3QgYXV4dHJhY2VfcmVjb3JkICppdHIgX19tYXliZV91bnVzZWQsCj4+ICAgICAgICAg ICAgICAgIChldG12MyAqIENTX0VUTVYzX1BSSVZfU0laRSkpOwo+PiAgfQo+Pgo+PiAtc3RhdGlj IGJvb2wgY3NfZXRtX2lzX2V0bXY0KHN0cnVjdCBhdXh0cmFjZV9yZWNvcmQgKml0ciwgaW50IGNw dSkKPj4gK3N0YXRpYyBib29sIGNzX2V0bV9wbXVfZmlsZV9wcmVzZW50KHN0cnVjdCBhdXh0cmFj ZV9yZWNvcmQgKml0ciwgaW50IGNwdSwKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgY2hhciAqZmlsZSkKPj4gIHsKPj4gICAgICAgICBib29sIHJldCA9IGZh bHNlOwo+PiAgICAgICAgIGNoYXIgcGF0aFtQQVRIX01BWF07Cj4+IEBAIC01NzQsOSArNTk2LDcg QEAgc3RhdGljIGJvb2wgY3NfZXRtX2lzX2V0bXY0KHN0cnVjdCBhdXh0cmFjZV9yZWNvcmQgKml0 ciwgaW50IGNwdSkKPj4gICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyX29mKGl0ciwg c3RydWN0IGNzX2V0bV9yZWNvcmRpbmcsIGl0cik7Cj4+ICAgICAgICAgc3RydWN0IHBlcmZfcG11 ICpjc19ldG1fcG11ID0gcHRyLT5jc19ldG1fcG11Owo+Pgo+PiAtICAgICAgIC8qIFRha2UgYW55 IG9mIHRoZSBSTyBmaWxlcyBmb3IgRVRNdjQgYW5kIHNlZSBpZiBpdCBwcmVzZW50ICovCj4+IC0g ICAgICAgc25wcmludGYocGF0aCwgUEFUSF9NQVgsICJjcHUlZC8lcyIsCj4+IC0gICAgICAgICAg ICAgICAgY3B1LCBtZXRhZGF0YV9ldG12NF9yb1tDU19FVE1WNF9UUkNJRFIwXSk7Cj4+ICsgICAg ICAgc25wcmludGYocGF0aCwgUEFUSF9NQVgsICJjcHUlZC8lcyIsIGNwdSwgZmlsZSk7Cj4+ICAg ICAgICAgc2NhbiA9IHBlcmZfcG11X19zY2FuX2ZpbGUoY3NfZXRtX3BtdSwgcGF0aCwgIiV4Iiwg JnZhbCk7Cj4+Cj4+ICAgICAgICAgLyogVGhlIGZpbGUgd2FzIHJlYWQgc3VjY2Vzc2Z1bGx5LCB3 ZSBoYXZlIGEgd2lubmVyICovCj4+IEBAIC03MzUsMjEgKzc1NSwyNiBAQCBzdGF0aWMgdm9pZCBj c19ldG1fZ2V0X21ldGFkYXRhKGludCBjcHUsIHUzMiAqb2Zmc2V0LAo+PiAgICAgICAgIHN0cnVj dCBwZXJmX3BtdSAqY3NfZXRtX3BtdSA9IHB0ci0+Y3NfZXRtX3BtdTsKPj4KPj4gICAgICAgICAv KiBmaXJzdCBzZWUgd2hhdCBraW5kIG9mIHRyYWNlciB0aGlzIGNwdSBpcyBhZmZpbmVkIHRvICov Cj4+IC0gICAgICAgaWYgKGNzX2V0bV9pc19ldGUoaXRyLCBjcHUpKSB7Cj4+ICsgICAgICAgc3dp dGNoIChjc19ldG1fZ2V0X3ZlcnNpb24oaXRyLCBjcHUpKSB7Cj4+ICsgICAgICAgY2FzZSBDU19F VEU6Cj4+ICAgICAgICAgICAgICAgICBtYWdpYyA9IF9fcGVyZl9jc19ldGVfbWFnaWM7Cj4+ICAg ICAgICAgICAgICAgICBjc19ldG1fc2F2ZV9ldGVfaGVhZGVyKCZpbmZvLT5wcml2WypvZmZzZXRd LCBpdHIsIGNwdSk7Cj4+Cj4+ICAgICAgICAgICAgICAgICAvKiBIb3cgbXVjaCBzcGFjZSB3YXMg dXNlZCAqLwo+PiAgICAgICAgICAgICAgICAgaW5jcmVtZW50ID0gQ1NfRVRFX1BSSVZfTUFYOwo+ PiAgICAgICAgICAgICAgICAgbnJfdHJjX3BhcmFtcyA9IENTX0VURV9QUklWX01BWCAtIENTX0VU TV9DT01NT05fQkxLX01BWF9WMTsKPj4gLSAgICAgICB9IGVsc2UgaWYgKGNzX2V0bV9pc19ldG12 NChpdHIsIGNwdSkpIHsKPj4gKyAgICAgICAgICAgICAgIGJyZWFrOwo+PiArCj4+ICsgICAgICAg Y2FzZSBDU19FVE1WNDoKPj4gICAgICAgICAgICAgICAgIG1hZ2ljID0gX19wZXJmX2NzX2V0bXY0 X21hZ2ljOwo+PiAgICAgICAgICAgICAgICAgY3NfZXRtX3NhdmVfZXRtdjRfaGVhZGVyKCZpbmZv LT5wcml2WypvZmZzZXRdLCBpdHIsIGNwdSk7Cj4+Cj4+ICAgICAgICAgICAgICAgICAvKiBIb3cg bXVjaCBzcGFjZSB3YXMgdXNlZCAqLwo+PiAgICAgICAgICAgICAgICAgaW5jcmVtZW50ID0gQ1Nf RVRNVjRfUFJJVl9NQVg7Cj4+ICAgICAgICAgICAgICAgICBucl90cmNfcGFyYW1zID0gQ1NfRVRN VjRfUFJJVl9NQVggLSBDU19FVE1WNF9UUkNDT05GSUdSOwo+PiAtICAgICAgIH0gZWxzZSB7Cj4+ ICsgICAgICAgICAgICAgICBicmVhazsKPj4gKwo+PiArICAgICAgIGNhc2UgQ1NfRVRNVjM6Cj4+ ICAgICAgICAgICAgICAgICBtYWdpYyA9IF9fcGVyZl9jc19ldG12M19tYWdpYzsKPj4gICAgICAg ICAgICAgICAgIC8qIEdldCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCj4+ICAgICAgICAgICAg ICAgICBpbmZvLT5wcml2WypvZmZzZXQgKyBDU19FVE1fRVRNQ1JdID0gY3NfZXRtX2dldF9jb25m aWcoaXRyKTsKPj4gQEAgLTc2Nyw2ICs3OTIsMTMgQEAgc3RhdGljIHZvaWQgY3NfZXRtX2dldF9t ZXRhZGF0YShpbnQgY3B1LCB1MzIgKm9mZnNldCwKPj4gICAgICAgICAgICAgICAgIC8qIEhvdyBt dWNoIHNwYWNlIHdhcyB1c2VkICovCj4+ICAgICAgICAgICAgICAgICBpbmNyZW1lbnQgPSBDU19F VE1fUFJJVl9NQVg7Cj4+ICAgICAgICAgICAgICAgICBucl90cmNfcGFyYW1zID0gQ1NfRVRNX1BS SVZfTUFYIC0gQ1NfRVRNX0VUTUNSOwo+PiArICAgICAgICAgICAgICAgYnJlYWs7Cj4+ICsKPj4g KyAgICAgICBkZWZhdWx0Ogo+PiArICAgICAgIGNhc2UgQ1NfTk9UX1BSRVNFTlQ6Cj4+ICsgICAg ICAgICAgICAgICAvKiBVbnJlYWNoYWJsZSwgQ1BVcyBhbHJlYWR5IHZhbGlkYXRlZCBpbiBjc19l dG1fdmFsaWRhdGVfY29uZmlnKCkgKi8KPj4gKyAgICAgICAgICAgICAgIGFzc2VydCh0cnVlKTsK Pj4gKyAgICAgICAgICAgICAgIHJldHVybjsKPj4gICAgICAgICB9Cj4+Cj4+ICAgICAgICAgLyog QnVpbGQgZ2VuZXJpYyBoZWFkZXIgcG9ydGlvbiAqLwo+PiAtLQo+PiAyLjM0LjEKPj4KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK