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 9E417C7EE2C for ; Mon, 5 Jun 2023 02:43:54 +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=pXSQ6PFZDa8rgugJwvlAQJQ2p+agUWClzFkXkdjy014=; b=xFGhAlKxT6re/H B4yJpnTpT2U9E/5HsmAXCSKENTIJkXifmkHojrfGsSEdA0+t91Pe/EcGHMc7fCfiHIuwrEGGUVWm2 tzabnwUGqQ2MML0t4oSI8VHDkoxp4d7v+7C5hvHg/7LvDsC2IUINLFnH2jJnT9M3hnRQ6y9WXinOU AzfKHmAqLhpi6z6UcIoX1yFxPYppLsWwbUf7gaatMipWDlJw5pWMR0rDCEAWVsGCDxGSdbOzplANt 5qbMpLRgZY0oQlsLjs2zbpHF+Y61/x4/AqrI1SBlQRG/++mVtdtPKxSgcwihAN38HWwTmv2z+YX4f ej1zrQeNZj+Zs5KHS67w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q60Bp-00DnyF-1O; Mon, 05 Jun 2023 02:43:25 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q60Bl-00Dnwg-1b for linux-arm-kernel@lists.infradead.org; Mon, 05 Jun 2023 02:43:23 +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 746CBD75; Sun, 4 Jun 2023 19:44:01 -0700 (PDT) Received: from [10.162.41.6] (a077893.blr.arm.com [10.162.41.6]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 44CA63F663; Sun, 4 Jun 2023 19:43:10 -0700 (PDT) Message-ID: <58628cba-7ec4-b2b3-b993-14c2af1a67cb@arm.com> Date: Mon, 5 Jun 2023 08:13:08 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH V11 05/10] arm64/perf: Add branch stack support in ARMV8 PMU To: Namhyung Kim Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, will@kernel.org, catalin.marinas@arm.com, mark.rutland@arm.com, Mark Brown , James Clark , Rob Herring , Marc Zyngier , Suzuki Poulose , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , linux-perf-users@vger.kernel.org References: <20230531040428.501523-1-anshuman.khandual@arm.com> <20230531040428.501523-6-anshuman.khandual@arm.com> Content-Language: en-US From: Anshuman Khandual In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230604_194321_654657_ED6DBD65 X-CRM114-Status: GOOD ( 28.82 ) 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 SGVsbG8gTmFtaHl1bmcsCgpPbiA2LzIvMjMgMDg6MDMsIE5hbWh5dW5nIEtpbSB3cm90ZToKPiBP biBUdWUsIE1heSAzMCwgMjAyMyBhdCA5OjI34oCvUE0gQW5zaHVtYW4gS2hhbmR1YWwKPiA8YW5z aHVtYW4ua2hhbmR1YWxAYXJtLmNvbT4gd3JvdGU6Cj4+IFRoaXMgZW5hYmxlcyBzdXBwb3J0IGZv ciBicmFuY2ggc3RhY2sgc2FtcGxpbmcgZXZlbnQgaW4gQVJNVjggUE1VLCBjaGVja2luZwo+PiBo YXNfYnJhbmNoX3N0YWNrKCkgb24gdGhlIGV2ZW50IGluc2lkZSAnc3RydWN0IGFybV9wbXUnIGNh bGxiYWNrcy4gQWx0aG91Z2gKPj4gdGhlc2UgYnJhbmNoIHN0YWNrIGhlbHBlcnMgYXJtdjhwbXVf YnJhbmNoX1hYWFhYKCkgYXJlIGp1c3QgZHVtbXkgZnVuY3Rpb25zCj4+IGZvciBub3cuIFdoaWxl IGhlcmUsIHRoaXMgYWxzbyBkZWZpbmVzIGFybV9wbXUncyBzY2hlZF90YXNrKCkgY2FsbGJhY2sg d2l0aAo+PiBhcm12OHBtdV9zY2hlZF90YXNrKCksIHdoaWNoIHJlc2V0cyB0aGUgYnJhbmNoIHJl Y29yZCBidWZmZXIgb24gYSBzY2hlZF9pbi4KPj4KPj4gQ2M6IENhdGFsaW4gTWFyaW5hcyA8Y2F0 YWxpbi5tYXJpbmFzQGFybS5jb20+Cj4+IENjOiBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3Jn Pgo+PiBDYzogTWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4KPj4gQ2M6IGxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+PiBDYzogbGludXgta2VybmVsQHZnZXIu a2VybmVsLm9yZwo+PiBUZXN0ZWQtYnk6IEphbWVzIENsYXJrIDxqYW1lcy5jbGFya0Bhcm0uY29t Pgo+PiBTaWduZWQtb2ZmLWJ5OiBBbnNodW1hbiBLaGFuZHVhbCA8YW5zaHVtYW4ua2hhbmR1YWxA YXJtLmNvbT4KPj4gLS0tCj4+ICBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BlcmZfZXZlbnQuaCB8 IDMzICsrKysrKysrKysrKysKPj4gIGRyaXZlcnMvcGVyZi9hcm1fcG11djMuYyAgICAgICAgICAg IHwgNzYgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPj4gIDIgZmlsZXMgY2hhbmdlZCwg ODYgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL3BlcmZfZXZlbnQuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v cGVyZl9ldmVudC5oCj4+IGluZGV4IGViNzA3MWM5ZWIzNC4uNzU0ODgxMzc4M2JhIDEwMDY0NAo+ PiAtLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BlcmZfZXZlbnQuaAo+PiArKysgYi9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL3BlcmZfZXZlbnQuaAo+PiBAQCAtMjQsNCArMjQsMzcgQEAgZXh0 ZXJuIHVuc2lnbmVkIGxvbmcgcGVyZl9taXNjX2ZsYWdzKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsK Pj4gICAgICAgICAocmVncyktPnBzdGF0ZSA9IFBTUl9NT0RFX0VMMWg7IFwKPj4gIH0KPj4KPj4g K3N0cnVjdCBwbXVfaHdfZXZlbnRzOwo+PiArc3RydWN0IGFybV9wbXU7Cj4+ICtzdHJ1Y3QgcGVy Zl9ldmVudDsKPj4gKwo+PiArI2lmZGVmIENPTkZJR19QRVJGX0VWRU5UUwo+PiArc3RhdGljIGlu bGluZSBib29sIGhhc19icmFuY2hfc3RhY2soc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KTsKPj4g Kwo+PiArc3RhdGljIGlubGluZSB2b2lkIGFybXY4cG11X2JyYW5jaF9yZWFkKHN0cnVjdCBwbXVf aHdfZXZlbnRzICpjcHVjLCBzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCj4+ICt7Cj4+ICsgICAg ICAgV0FSTl9PTl9PTkNFKCFoYXNfYnJhbmNoX3N0YWNrKGV2ZW50KSk7Cj4+ICt9Cj4+ICsKPj4g K3N0YXRpYyBpbmxpbmUgYm9vbCBhcm12OHBtdV9icmFuY2hfdmFsaWQoc3RydWN0IHBlcmZfZXZl bnQgKmV2ZW50KQo+PiArewo+PiArICAgICAgIFdBUk5fT05fT05DRSghaGFzX2JyYW5jaF9zdGFj ayhldmVudCkpOwo+PiArICAgICAgIHJldHVybiBmYWxzZTsKPj4gK30KPj4gKwo+PiArc3RhdGlj IGlubGluZSB2b2lkIGFybXY4cG11X2JyYW5jaF9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50KQo+PiArewo+PiArICAgICAgIFdBUk5fT05fT05DRSghaGFzX2JyYW5jaF9zdGFjayhldmVu dCkpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgYXJtdjhwbXVfYnJhbmNoX2Rp c2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQo+PiArewo+PiArICAgICAgIFdBUk5fT05f T05DRSghaGFzX2JyYW5jaF9zdGFjayhldmVudCkpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW5s aW5lIHZvaWQgYXJtdjhwbXVfYnJhbmNoX3Byb2JlKHN0cnVjdCBhcm1fcG11ICphcm1fcG11KSB7 IH0KPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBhcm12OHBtdV9icmFuY2hfcmVzZXQodm9pZCkgeyB9 Cj4+ICtzdGF0aWMgaW5saW5lIGludCBhcm12OHBtdV9wcml2YXRlX2FsbG9jKHN0cnVjdCBhcm1f cG11ICphcm1fcG11KSB7IHJldHVybiAwOyB9Cj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgYXJtdjhw bXVfcHJpdmF0ZV9mcmVlKHN0cnVjdCBhcm1fcG11ICphcm1fcG11KSB7IH0KPj4gKyNlbmRpZgo+ PiAgI2VuZGlmCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BlcmYvYXJtX3BtdXYzLmMgYi9kcml2 ZXJzL3BlcmYvYXJtX3BtdXYzLmMKPj4gaW5kZXggYzk4ZTQwMzkzODZkLi44NmQ4MDNmZjFhZTMg MTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvcGVyZi9hcm1fcG11djMuYwo+PiArKysgYi9kcml2ZXJz L3BlcmYvYXJtX3BtdXYzLmMKPj4gQEAgLTcwNSwzOCArNzA1LDIxIEBAIHN0YXRpYyB2b2lkIGFy bXY4cG11X2VuYWJsZV9ldmVudChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCj4+ICAgICAgICAg ICogRW5hYmxlIGNvdW50ZXIgYW5kIGludGVycnVwdCwgYW5kIHNldCB0aGUgY291bnRlciB0byBj b3VudAo+PiAgICAgICAgICAqIHRoZSBldmVudCB0aGF0IHdlJ3JlIGludGVyZXN0ZWQgaW4uCj4+ ICAgICAgICAgICovCj4+IC0KPj4gLSAgICAgICAvKgo+PiAtICAgICAgICAqIERpc2FibGUgY291 bnRlcgo+PiAtICAgICAgICAqLwo+PiAgICAgICAgIGFybXY4cG11X2Rpc2FibGVfZXZlbnRfY291 bnRlcihldmVudCk7Cj4+IC0KPj4gLSAgICAgICAvKgo+PiAtICAgICAgICAqIFNldCBldmVudC4K Pj4gLSAgICAgICAgKi8KPj4gICAgICAgICBhcm12OHBtdV93cml0ZV9ldmVudF90eXBlKGV2ZW50 KTsKPj4gLQo+PiAtICAgICAgIC8qCj4+IC0gICAgICAgICogRW5hYmxlIGludGVycnVwdCBmb3Ig dGhpcyBjb3VudGVyCj4+IC0gICAgICAgICovCj4+ICAgICAgICAgYXJtdjhwbXVfZW5hYmxlX2V2 ZW50X2lycShldmVudCk7Cj4+IC0KPj4gLSAgICAgICAvKgo+PiAtICAgICAgICAqIEVuYWJsZSBj b3VudGVyCj4+IC0gICAgICAgICovCj4+ICAgICAgICAgYXJtdjhwbXVfZW5hYmxlX2V2ZW50X2Nv dW50ZXIoZXZlbnQpOwo+PiArCj4+ICsgICAgICAgaWYgKGhhc19icmFuY2hfc3RhY2soZXZlbnQp KQo+PiArICAgICAgICAgICAgICAgYXJtdjhwbXVfYnJhbmNoX2VuYWJsZShldmVudCk7Cj4+ICB9 Cj4+Cj4+ICBzdGF0aWMgdm9pZCBhcm12OHBtdV9kaXNhYmxlX2V2ZW50KHN0cnVjdCBwZXJmX2V2 ZW50ICpldmVudCkKPj4gIHsKPj4gLSAgICAgICAvKgo+PiAtICAgICAgICAqIERpc2FibGUgY291 bnRlcgo+PiAtICAgICAgICAqLwo+PiAtICAgICAgIGFybXY4cG11X2Rpc2FibGVfZXZlbnRfY291 bnRlcihldmVudCk7Cj4+ICsgICAgICAgaWYgKGhhc19icmFuY2hfc3RhY2soZXZlbnQpKQo+PiAr ICAgICAgICAgICAgICAgYXJtdjhwbXVfYnJhbmNoX2Rpc2FibGUoZXZlbnQpOwo+Pgo+PiAtICAg ICAgIC8qCj4+IC0gICAgICAgICogRGlzYWJsZSBpbnRlcnJ1cHQgZm9yIHRoaXMgY291bnRlcgo+ PiAtICAgICAgICAqLwo+PiArICAgICAgIGFybXY4cG11X2Rpc2FibGVfZXZlbnRfY291bnRlcihl dmVudCk7Cj4+ICAgICAgICAgYXJtdjhwbXVfZGlzYWJsZV9ldmVudF9pcnEoZXZlbnQpOwo+PiAg fQo+Pgo+PiBAQCAtODE0LDYgKzc5NywxMSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgYXJtdjhwbXVf aGFuZGxlX2lycShzdHJ1Y3QgYXJtX3BtdSAqY3B1X3BtdSkKPj4gICAgICAgICAgICAgICAgIGlm ICghYXJtcG11X2V2ZW50X3NldF9wZXJpb2QoZXZlbnQpKQo+PiAgICAgICAgICAgICAgICAgICAg ICAgICBjb250aW51ZTsKPj4KPj4gKyAgICAgICAgICAgICAgIGlmIChoYXNfYnJhbmNoX3N0YWNr KGV2ZW50KSAmJiAhV0FSTl9PTighY3B1Yy0+YnJhbmNoZXMpKSB7Cj4+ICsgICAgICAgICAgICAg ICAgICAgICAgIGFybXY4cG11X2JyYW5jaF9yZWFkKGNwdWMsIGV2ZW50KTsKPj4gKyAgICAgICAg ICAgICAgICAgICAgICAgcGVyZl9zYW1wbGVfc2F2ZV9icnN0YWNrKCZkYXRhLCBldmVudCwgJmNw dWMtPmJyYW5jaGVzLT5icmFuY2hfc3RhY2spOwo+PiArICAgICAgICAgICAgICAgfQo+PiArCj4+ ICAgICAgICAgICAgICAgICAvKgo+PiAgICAgICAgICAgICAgICAgICogUGVyZiBldmVudCBvdmVy ZmxvdyB3aWxsIHF1ZXVlIHRoZSBwcm9jZXNzaW5nIG9mIHRoZSBldmVudCBhcwo+PiAgICAgICAg ICAgICAgICAgICogYW4gaXJxX3dvcmsgd2hpY2ggd2lsbCBiZSB0YWtlbiBjYXJlIG9mIGluIHRo ZSBoYW5kbGluZyBvZgo+PiBAQCAtOTEyLDYgKzkwMCwxNCBAQCBzdGF0aWMgaW50IGFybXY4cG11 X3VzZXJfZXZlbnRfaWR4KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKPj4gICAgICAgICByZXR1 cm4gZXZlbnQtPmh3LmlkeDsKPj4gIH0KPj4KPj4gK3N0YXRpYyB2b2lkIGFybXY4cG11X3NjaGVk X3Rhc2soc3RydWN0IHBlcmZfZXZlbnRfcG11X2NvbnRleHQgKnBtdV9jdHgsIGJvb2wgc2NoZWRf aW4pCj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IGFybV9wbXUgKmFybXBtdSA9IHRvX2FybV9wbXUo cG11X2N0eC0+cG11KTsKPj4gKwo+PiArICAgICAgIGlmIChzY2hlZF9pbiAmJiBhcm1fcG11X2Jy YW5jaF9zdGFja19zdXBwb3J0ZWQoYXJtcG11KSkKPj4gKyAgICAgICAgICAgICAgIGFybXY4cG11 X2JyYW5jaF9yZXNldCgpOwo+PiArfQo+PiArCj4+ICAvKgo+PiAgICogQWRkIGFuIGV2ZW50IGZp bHRlciB0byBhIGdpdmVuIGV2ZW50Lgo+PiAgICovCj4+IEBAIC05ODIsNiArOTc4LDkgQEAgc3Rh dGljIHZvaWQgYXJtdjhwbXVfcmVzZXQodm9pZCAqaW5mbykKPj4gICAgICAgICAgICAgICAgIHBt Y3IgfD0gQVJNVjhfUE1VX1BNQ1JfTFA7Cj4+Cj4+ICAgICAgICAgYXJtdjhwbXVfcG1jcl93cml0 ZShwbWNyKTsKPj4gKwo+PiArICAgICAgIGlmIChhcm1fcG11X2JyYW5jaF9zdGFja19zdXBwb3J0 ZWQoY3B1X3BtdSkpCj4+ICsgICAgICAgICAgICAgICBhcm12OHBtdV9icmFuY2hfcmVzZXQoKTsK Pj4gIH0KPj4KPj4gIHN0YXRpYyBpbnQgX19hcm12OF9wbXV2M19tYXBfZXZlbnRfaWQoc3RydWN0 IGFybV9wbXUgKmFybXBtdSwKPj4gQEAgLTEwMTksNiArMTAxOCw5IEBAIHN0YXRpYyBpbnQgX19h cm12OF9wbXV2M19tYXBfZXZlbnQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LAo+Pgo+PiAgICAg ICAgIGh3X2V2ZW50X2lkID0gX19hcm12OF9wbXV2M19tYXBfZXZlbnRfaWQoYXJtcG11LCBldmVu dCk7Cj4+Cj4+ICsgICAgICAgaWYgKGhhc19icmFuY2hfc3RhY2soZXZlbnQpICYmICFhcm12OHBt dV9icmFuY2hfdmFsaWQoZXZlbnQpKQo+PiArICAgICAgICAgICAgICAgcmV0dXJuIC1FT1BOT1RT VVBQOwo+PiArCj4+ICAgICAgICAgLyoKPj4gICAgICAgICAgKiBDSEFJTiBldmVudHMgb25seSB3 b3JrIHdoZW4gcGFpcmVkIHdpdGggYW4gYWRqYWNlbnQgY291bnRlciwgYW5kIGl0Cj4+ICAgICAg ICAgICogbmV2ZXIgbWFrZXMgc2Vuc2UgZm9yIGEgdXNlciB0byBvcGVuIG9uZSBpbiBpc29sYXRp b24sIGFzIHRoZXknbGwgYmUKPj4gQEAgLTExMzUsNiArMTEzNywyMSBAQCBzdGF0aWMgdm9pZCBf X2FybXY4cG11X3Byb2JlX3BtdSh2b2lkICppbmZvKQo+PiAgICAgICAgICAgICAgICAgY3B1X3Bt dS0+cmVnX3BtbWlyID0gcmVhZF9wbW1pcigpOwo+PiAgICAgICAgIGVsc2UKPj4gICAgICAgICAg ICAgICAgIGNwdV9wbXUtPnJlZ19wbW1pciA9IDA7Cj4+ICsgICAgICAgYXJtdjhwbXVfYnJhbmNo X3Byb2JlKGNwdV9wbXUpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW50IGJyYW5jaF9yZWNvcmRz X2FsbG9jKHN0cnVjdCBhcm1fcG11ICphcm1wbXUpCj4+ICt7Cj4+ICsgICAgICAgc3RydWN0IHBt dV9od19ldmVudHMgKmV2ZW50czsKPj4gKyAgICAgICBpbnQgY3B1Owo+PiArCj4+ICsgICAgICAg Zm9yX2VhY2hfcG9zc2libGVfY3B1KGNwdSkgewo+PiArICAgICAgICAgICAgICAgZXZlbnRzID0g cGVyX2NwdV9wdHIoYXJtcG11LT5od19ldmVudHMsIGNwdSk7Cj4+ICsgICAgICAgICAgICAgICBl dmVudHMtPmJyYW5jaGVzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGJyYW5jaF9yZWNvcmRzKSwg R0ZQX0tFUk5FTCk7Cj4+ICsgICAgICAgICAgICAgICBpZiAoIWV2ZW50cy0+YnJhbmNoZXMpCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArICAgICAgIH0KPj4g KyAgICAgICByZXR1cm4gMDsKPj4gIH0KPj4KPj4gIHN0YXRpYyBpbnQgYXJtdjhwbXVfcHJvYmVf cG11KHN0cnVjdCBhcm1fcG11ICpjcHVfcG11KQo+PiBAQCAtMTE0NSwxMiArMTE2MiwyNCBAQCBz dGF0aWMgaW50IGFybXY4cG11X3Byb2JlX3BtdShzdHJ1Y3QgYXJtX3BtdSAqY3B1X3BtdSkKPj4g ICAgICAgICB9Owo+PiAgICAgICAgIGludCByZXQ7Cj4+Cj4+ICsgICAgICAgcmV0ID0gYXJtdjhw bXVfcHJpdmF0ZV9hbGxvYyhjcHVfcG11KTsKPj4gKyAgICAgICBpZiAocmV0KQo+PiArICAgICAg ICAgICAgICAgcmV0dXJuIHJldDsKPiBXb3VsZG4ndCBpdCBiZSBiZXR0ZXIgdG8gbW92ZSBpdCB1 bmRlciB0aGUgaWYgc3RhdGVtZW50IGJlbG93Cj4gaWYgaXQncyBvbmx5IG5lZWRlZCBmb3IgYnJh bmNoIHN0YWNrPwoKYXJtdjhwbXVfcHJpdmF0ZV9hbGxvYygpIGFsbG9jYXRlcyBhcm1fcG11J3Mg cHJpdmF0ZSBzdHJ1Y3R1cmUgd2hpY2ggc3RvcmVzCnRoZSBCUkJFIEhXIGF0dHJpYnV0ZXMgZHVy aW5nIGFybXY4cG11X2JyYW5jaF9wcm9iZSgpLCBjYWxsZWQgZnJvbSB0aGlzIFNNUApjYWxsYmFj ayBfX2FybXY4cG11X3Byb2JlX3BtdSgpLiBIZW5jZSB3aXRob3V0IHRoZSBzdHJ1Y3R1cmUgYmVp bmcgYWxsb2NhdGVkCmFuZCBhc3NpZ25lZCwgZm9sbG93aW5nIHNtcF9jYWxsX2Z1bmN0aW9uX2Fu eSgpIGNhbm5vdCBleGVjdXRlIHN1Y2Nlc3NmdWxseS4KCmFybXY4cG11X3ByaXZhdGVfYWxsb2Mo KQoJewoJCS4uLi4uLgoJCUFsbG9jYXRlcyBhcm1fcG11LT5wcml2YXRlIGFzIHNpbmdsZSAnc3Ry dWN0IGJyYmVfaHdfYXR0cicKCQlBbGxvY2F0ZXMgYXJtX3BtdS0+cG11LnRhc2tfY3R4X2NhY2hl CgkJLi4uLi4uCgl9CgpfX2FybXY4cG11X3Byb2JlX3BtdSgpCglhcm12OHBtdV9icmFuY2hfcHJv YmUoKQoJCWJyYmVfYXR0cmlidXRlc19wcm9iZSgpCgkJewoJCQkuLi4uLi4KCQkJYnJiZV9hdHRy LT5icmJlX3ZlcnNpb24gPSBicmJlOwoJCQlicmJlX2F0dHItPmJyYmVfZm9ybWF0ID0gYnJiZV9n ZXRfZm9ybWF0KGJyYmlkcik7CiAgICAgICAgCQlicmJlX2F0dHItPmJyYmVfY2MgPSBicmJlX2dl dF9jY19iaXRzKGJyYmlkcik7CiAgICAgICAgCQlicmJlX2F0dHItPmJyYmVfbnIgPSBicmJlX2dl dF9udW1yZWMoYnJiaWRyKTsKCQkJLi4uLi4uCgkJfQoKYXJtdjhwbXVfcHJpdmF0ZV9hbGxvYygp IGNhbm5vdCBiZSBtb3ZlZCBpbnNpZGUgYXJtdjhwbXVfYnJhbmNoX3Byb2JlKCksCmJlY2F1c2Ug dGhlcmUgY2Fubm90IGJlIGFueSBhbGxvY2F0aW9uIHdoaWxlIGJlaW5nIGluIGEgU01QIGNhbGwg Y29udGV4dC4KCj4gCj4+ICsKPj4gICAgICAgICByZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9hbnko JmNwdV9wbXUtPnN1cHBvcnRlZF9jcHVzLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfX2FybXY4cG11X3Byb2JlX3BtdSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnByb2JlLCAxKTsKPj4gICAgICAgICBpZiAocmV0KQo+PiAgICAgICAgICAg ICAgICAgcmV0dXJuIHJldDsKPiBPdGhlcndpc2UgeW91IG1pZ2h0IG5lZWQgdG8gZnJlZSBpdCBo ZXJlLgo+IAo+PiArICAgICAgIGlmIChhcm1fcG11X2JyYW5jaF9zdGFja19zdXBwb3J0ZWQoY3B1 X3BtdSkpIHsKPj4gKyAgICAgICAgICAgICAgIHJldCA9IGJyYW5jaF9yZWNvcmRzX2FsbG9jKGNw dV9wbXUpOwo+PiArICAgICAgICAgICAgICAgaWYgKHJldCkKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIHJldDsKPiBBbmQgaGVyZSB0b28uCgpOb3QgZnJlZWluZyB0aGUgYXJtX3Bt dSdzIHByaXZhdGUgZGF0YSwgbWlnaHQgbm90IGJlIGEgcHJvYmxlbSBpbiBjYXNlcwp3aGVyZSBl aXRoZXIgcG11IGRvZXMgbm90IHN1cHBvcnQgQlJCRSBvciBwbXUgcHJvYmUgaXRzZWxmIGZhaWxz LiBCdXQgZm9yCmNvbXBsZXRlbmVzcywgd2lsbCBjaGFuZ2UgYXMgZm9sbG93aW5nLgoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGVyZi9hcm1fcG11djMuYyBiL2RyaXZlcnMvcGVyZi9hcm1fcG11djMu YwppbmRleCA5NzI1YTUzZDY3OTkuLmZkYmU1MjkxM2NjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9w ZXJmL2FybV9wbXV2My5jCisrKyBiL2RyaXZlcnMvcGVyZi9hcm1fcG11djMuYwpAQCAtMTE5OCwx MyArMTE5OCwxNyBAQCBzdGF0aWMgaW50IGFybXY4cG11X3Byb2JlX3BtdShzdHJ1Y3QgYXJtX3Bt dSAqY3B1X3BtdSkKICAgICAgICByZXQgPSBzbXBfY2FsbF9mdW5jdGlvbl9hbnkoJmNwdV9wbXUt PnN1cHBvcnRlZF9jcHVzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2Fy bXY4cG11X3Byb2JlX3BtdSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnBy b2JlLCAxKTsKLSAgICAgICBpZiAocmV0KQorICAgICAgIGlmIChyZXQpIHsKKyAgICAgICAgICAg ICAgIGFybXY4cG11X3ByaXZhdGVfZnJlZShjcHVfcG11KTsKICAgICAgICAgICAgICAgIHJldHVy biByZXQ7CisgICAgICAgfQogCiAgICAgICAgaWYgKGFybV9wbXVfYnJhbmNoX3N0YWNrX3N1cHBv cnRlZChjcHVfcG11KSkgewogICAgICAgICAgICAgICAgcmV0ID0gYnJhbmNoX3JlY29yZHNfYWxs b2MoY3B1X3BtdSk7Ci0gICAgICAgICAgICAgICBpZiAocmV0KQorICAgICAgICAgICAgICAgaWYg KHJldCkgeworICAgICAgICAgICAgICAgICAgICAgICBhcm12OHBtdV9wcml2YXRlX2ZyZWUoY3B1 X3BtdSk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgICAgICAg ICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGFybXY4cG11X3ByaXZhdGVfZnJl ZShjcHVfcG11KTsKICAgICAgICB9CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==