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 C39A7C27C76 for ; Sat, 28 Jan 2023 08:48:19 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:CC:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3xf3HvYRX/VMFdafYH76lnJ14KWvc7ZLf3cKy1NB7KE=; b=dxD9Map9FUzczaoQj87+tD+hAN WLpt6PbtKakIr/S2mWBeRHYKyNHBUP218+PJXh7PvGA33IBmAIHRhyi7Av/0uPNXmeYGHxQV7Vxja NQbBjc4DSST8uub8t01rtqum1GZEiW3vpd+LiFJNRw2iWJGovNHsFU8gGe3vJHGkEv+uUFjt+seEy Lh5NC54nVV+pZmWVVQ2VPCI0E2LbECv4dEhn3W3l52k0VbDNVkDw2iRWr5snEHAqhSJlRK9IAzxgn 0TL5MPCCChWUGMshZT2GUTdW78s2WozysC9FFBOFV2HuxWmc3+MzTtvuaATPCXtupHncqpNWjFqg2 DZFF4UpA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pLgri-00HUwy-Qc; Sat, 28 Jan 2023 08:47:14 +0000 Received: from szxga08-in.huawei.com ([45.249.212.255]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pLgre-00HUv2-AL for linux-arm-kernel@lists.infradead.org; Sat, 28 Jan 2023 08:47:13 +0000 Received: from dggpemm500015.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4P3p0p39ccz16NQw; Sat, 28 Jan 2023 16:44:58 +0800 (CST) Received: from [10.174.177.133] (10.174.177.133) by dggpemm500015.china.huawei.com (7.185.36.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Sat, 28 Jan 2023 16:46:54 +0800 Subject: Re: [PATCH v3 1/8] ftrace: Add DYNAMIC_FTRACE_WITH_CALL_OPS To: Mark Rutland , CC: , , , , , , , , , , , , , "liwei (GF)" References: <20230123134603.1064407-1-mark.rutland@arm.com> <20230123134603.1064407-2-mark.rutland@arm.com> From: "Wangshaobo (bobo)" Message-ID: Date: Sat, 28 Jan 2023 16:46:48 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 MIME-Version: 1.0 In-Reply-To: <20230123134603.1064407-2-mark.rutland@arm.com> X-Originating-IP: [10.174.177.133] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpemm500015.china.huawei.com (7.185.36.181) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230128_004710_735326_309F4B7B X-CRM114-Status: GOOD ( 62.03 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="gbk"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgrU2iAyMDIzLzEvMjMgMjE6NDUsIE1hcmsgUnV0bGFuZCDQtLXAOgo+IEFyY2hpdGVjdHVyZXMg d2l0aG91dCBkeW5hbWljIGZ0cmFjZSB0cmFtcG9saW5lcyBpbmN1ciBhbiBvdmVyaGVhZCB3aGVu Cj4gbXVsdGlwbGUgZnRyYWNlX29wcyBhcmUgZW5hYmxlZCB3aXRoIGRpc3RpbmN0IGZpbHRlcnMu IGluIHRoZXNlIGNhc2VzLAo+IGVhY2ggY2FsbCBzaXRlIGNhbGxzIGEgY29tbW9uIHRyYW1wb2xp bmUgd2hpY2ggdXNlcwo+IGZ0cmFjZV9vcHNfbGlzdF9mdW5jKCkgdG8gaXRlcmF0ZSBvdmVyIGFs bCBlbmFibGVkIGZ0cmFjZSBmdW5jdGlvbnMsIGFuZAo+IHNvIGluY3VycyBhbiBvdmVyaGVhZCBy ZWxhdGl2ZSB0byB0aGUgc2l6ZSBvZiB0aGlzIGxpc3QgKGluY2x1ZGluZyBSQ1UKPiBwcm90ZWN0 aW9uIG92ZXJoZWFkKS4KPiAKPiBBcmNoaXRlY3R1cmVzIHdpdGggZHluYW1pYyBmdHJhY2UgdHJh bXBvbGluZXMgYXZvaWQgdGhpcyBvdmVyaGVhZCBmb3IKPiBjYWxsIHNpdGVzIHdoaWNoIGhhdmUg YSBzaW5nbGUgYXNzb2NpYXRlZCBmdHJhY2Vfb3BzLiBJbiB0aGVzZSBjYXNlcywKPiB0aGUgZHlu YW1pYyB0cmFtcG9saW5lIGlzIGN1c3RvbWl6ZWQgdG8gYnJhbmNoIGRpcmVjdGx5IHRvIHRoZSBy ZWxldmFudAo+IGZ0cmFjZSBmdW5jdGlvbiwgYXZvaWRpbmcgdGhlIGxpc3Qgb3ZlcmhlYWQuCj4g Cj4gT24gc29tZSBhcmNoaXRlY3R1cmVzIGl0J3MgaW1wcmFjdGljYWwgYW5kL29yIHVuZGVzaXJh YmxlIHRvIGltcGxlbWVudAo+IGR5bmFtaWMgZnRyYWNlIHRyYW1wb2xpbmVzLiBGb3IgZXhhbXBs ZSwgYXJtNjQgaGFzIGxpbWl0ZWQgYnJhbmNoIHJhbmdlcwo+IGFuZCBjYW5ub3QgYWx3YXlzIGRp cmVjdGx5IGJyYW5jaCBmcm9tIGEgY2FsbCBzaXRlIHRvIGFuIGFyYml0cmFyeQo+IGFkZHJlc3Mg KGUuZy4gZnJvbSBhIGtlcm5lbCB0ZXh0IGFkZHJlc3MgdG8gYW4gYXJiaXRyYXJ5IG1vZHVsZQo+ IGFkZHJlc3MpLiBDYWxscyBmcm9tIG1vZHVsZXMgdG8gY29yZSBrZXJuZWwgdGV4dCBjYW4gYmUg aW5kaXJlY3RlZCB2aWEKPiBQTFRzIChhbGxvY2F0ZWQgYXQgbW9kdWxlIGxvYWQgdGltZSkgdG8g YWRkcmVzcyB0aGlzLCBidXQgdGhlIHNhbWUgaXMKPiBub3QgcG9zc2libGUgZnJvbSBjYWxscyBm cm9tIGNvcmUga2VybmVsIHRleHQuCj4gCj4gVXNpbmcgYW4gaW5kaXJlY3QgYnJhbmNoIGZyb20g YSBjYWxsIHNpdGUgdG8gYW4gYXJiaXRyYXJ5IHRyYW1wb2xpbmUgaXMKPiBwb3NzaWJsZSwgYnV0 IHJlcXVpcmVzIHNldmVyYWwgbW9yZSBpbnN0cnVjdGlvbnMgaW4gdGhlIGZ1bmN0aW9uCj4gcHJv bG9ndWUgKG9yIGltbWVkaWF0ZWx5IGJlZm9yZSBpdCksIGFuZC9vciBjb21lcyB3aXRoIGZhciBt b3JlIGNvbXBsZXgKPiByZXF1aXJlbWVudHMgZm9yIHBhdGNoaW5nLgo+IAo+IEluc3RlYWQsIHRo aXMgcGF0Y2ggYWRkcyBhIG5ldyBvcHRpb24sIHdoZXJlIGFuIGFyY2hpdGVjdHVyZSBjYW4KPiBh c3NvY2lhdGUgZWFjaCBjYWxsIHNpdGUgd2l0aCBhIHBvaW50ZXIgdG8gYW4gZnRyYWNlX29wcywg cGxhY2VkIGF0IGEKPiBmaXhlZCBvZmZzZXQgZnJvbSB0aGUgY2FsbCBzaXRlLiBBIHNoYXJlZCB0 cmFtcG9saW5lIGNhbiByZWNvdmVyIHRoaXMKPiBwb2ludGVyIGFuZCBjYWxsIGZ0cmFjZV9vcHM6 OmZ1bmMoKSB3aXRob3V0IG5lZWRpbmcgdG8gZ28gdmlhCj4gZnRyYWNlX29wc19saXN0X2Z1bmMo KSwgYXZvaWRpbmcgdGhlIGFzc29jaWF0ZWQgb3ZlcmhlYWQuCj4gCj4gVGhpcyBhdm9pZHMgaXNz dWVzIHdpdGggYnJhbmNoIHJhbmdlIGxpbWl0YXRpb25zLCBhbmQgYXZvaWRzIHRoZSBuZWVkIHRv Cj4gYWxsb2NhdGUgYW5kIG1hbmlwdWxhdGUgZHluYW1pYyB0cmFtcG9saW5lcywgbWFraW5nIGl0 IGZhciBzaW1wbGVyIHRvCj4gaW1wbGVtZW50IGFuZCBtYWludGFpbiwgd2hpbGUgaGF2aW5nIHNp bWlsYXIgcGVyZm9ybWFuY2UKPiBjaGFyYWN0ZXJpc3RpY3MuCj4gCj4gTm90ZSB0aGF0IHRoaXMg YWxsb3dzIGZvciBkeW5hbWljIGZ0cmFjZV9vcHMgdG8gYmUgaW52b2tlZCBkaXJlY3RseSBmcm9t Cj4gYW4gYXJjaGl0ZWN0dXJlJ3MgZnRyYWNlX2NhbGxlciB0cmFtcG9saW5lLCB3aGVyZWFzIGV4 aXN0aW5nIGNvZGUgZm9yY2VzCj4gdGhlIHVzZSBvZiBmdHJhY2Vfb3BzX2dldF9saXN0X2Z1bmMo KSwgd2hpY2ggaXMgaW4gcGFydCBuZWNlc3NhcnkgdG8KPiBwZXJtaXQgdGhlIGZ0cmFjZV9vcHMg dG8gYmUgZnJlZWQgb25jZSB1bnJlZ2lzdGVyZWQgKmFuZCogdG8gYXZvaWQKPiBicmFuY2gvYWRk cmVzcy1nZW5lcmF0aW9uIHJhbmdlIGxpbWl0YXRpb24gb24gc29tZSBhcmNoaXRlY3R1cmVzIChl LmcuCj4gd2hlcmUgb3BzLT5mdW5jIGlzIGEgbW9kdWxlIGFkZHJlc3MsIGFuZCBtYXkgYmUgb3V0 c2lkZSBvZiB0aGUgZGlyZWN0Cj4gYnJhbmNoIHJhbmdlIGZvciBjYWxsc2l0ZXMgd2l0aGluIHRo ZSBtYWluIGtlcm5lbCBpbWFnZSkuCj4gCj4gVGhlIENBTExfT1BTIGFwcHJvYWNoIGF2b2lkcyB0 aGlzIHByb2JsZW1zIGFuZCBpcyBzYWZlIGFzOgo+IAo+ICogVGhlIGV4aXN0aW5nIHN5bmNocm9u aXphdGlvbiBpbiBmdHJhY2Vfc2h1dGRvd24oKSB1c2luZwo+ICAgIGZ0cmFjZV9zaHV0ZG93bigp IHVzaW5nIHN5bmNocm9uaXplX3JjdV90YXNrc19ydWRlKCkgKGFuZAo+ICAgIHN5bmNocm9uaXpl X3JjdV90YXNrcygpKSBlbnN1cmVzIHRoYXQgbm8gdGFza3MgaG9sZCBhIHN0YWxlIHJlZmVyZW5j ZQo+ICAgIHRvIGFuIGZ0cmFjZV9vcHMgKGUuZy4gaW4gdGhlIG1pZGRsZSBvZiB0aGUgZnRyYWNl X2NhbGxlciB0cmFtcG9saW5lLAo+ICAgIG9yIHdoaWxlIGludm9raW5nIGZ0cmFjZV9vcHM6OmZ1 bmMpLCB3aGVuIHRoYXQgZnRyYWNlX29wcyBpcwo+ICAgIHVucmVnaXN0ZXJlZC4KPiAKPiAgICBB cmd1YWJseSB0aGlzIGNvdWxkIGFsc28gYmUgcmVsaWVkIHVwb24gZm9yIHRoZSBleGlzdGluZyBz Y2hlbWUsCj4gICAgcGVybWl0dGluZyBkeW5hbWljIGZ0cmFjZV9vcHMgdG8gYmUgaW52b2tlZCBk aXJlY3RseSB3aGVuIG9wcy0+ZnVuYyBpcwo+ICAgIGluIHJhbmdlLCBidXQgdGhpcyB3aWxsIHJl cXVpcmUgYWRkaXRpb25hbCBsb2dpYyB0byBoYW5kbGUgYnJhbmNoCj4gICAgcmFuZ2UgbGltaXRh dGlvbnMsIGFuZCBpcyBub3QgaGFuZGxlZCBieSB0aGlzIHBhdGNoLgo+IAo+ICogRWFjaCBjYWxs c2l0ZSdzIGZ0cmFjZV9vcHMgcG9pbnRlciBsaXRlcmFsIGNhbiBob2xkIGFueSB2YWxpZCBrZXJu ZWwKPiAgICBhZGRyZXNzLCBhbmQgaXMgdXBkYXRlZCBhdG9taWNhbGx5LiBBcyBhbiBhcmNoaXRl Y3R1cmUncyBmdHJhY2VfY2FsbGVyCj4gICAgdHJhbXBvbGluZSB3aWxsIGF0b21pY2FsbHkgbG9h ZCB0aGUgb3BzIHBvaW50ZXIgdGhlbiBkZXJlZmVyZW5jZQo+ICAgIG9wcy0+ZnVuYywgdGhlcmUg aXMgbm8gcmlzayBvZiBpbnZva2luZyBvcHMtPmZ1bmMgd2l0aCBhIG1pc21hdGNoZXMKPiAgICBv cHMgcG9pbnRlciwgYW5kIHVwZGF0ZXMgdG8gdGhlIG9wcyBwb2ludGVyIGRvIG5vdCByZXF1aXJl IHNwZWNpYWwKPiAgICBjYXJlLgo+IAo+IEEgc3Vic2VxdWVudCBwYXRjaCB3aWxsIGltcGxlbWVu dCBhcmNoaXRlY3R1cmVzIHN1cHBvcnQgZm9yIGFybTY0LiBUaGVyZQo+IHNob3VsZCBiZSBubyBm dW5jdGlvbmFsIGNoYW5nZSBhcyBhIHJlc3VsdCBvZiB0aGlzIHBhdGNoIGFsb25lLgo+IAo+IFNp Z25lZC1vZmYtYnk6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+Cj4gUmV2aWV3 ZWQtYnk6IFN0ZXZlbiBSb3N0ZWR0IChHb29nbGUpIDxyb3N0ZWR0QGdvb2RtaXMub3JnPgo+IENj OiBDYXRhbGluIE1hcmluYXMgPGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tPgo+IENjOiBGbG9yZW50 IFJldmVzdCA8cmV2ZXN0QGNocm9taXVtLm9yZz4KPiBDYzogTWFzYW1pIEhpcmFtYXRzdSA8bWhp cmFtYXRAa2VybmVsLm9yZz4KPiBDYzogUGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQu b3JnPgo+IENjOiBXaWxsIERlYWNvbiA8d2lsbEBrZXJuZWwub3JnPgo+IC0tLQo+ICAgaW5jbHVk ZS9saW51eC9mdHJhY2UuaCB8ICAxOCArKysrKy0tCj4gICBrZXJuZWwvdHJhY2UvS2NvbmZpZyAg IHwgICA3ICsrKwo+ICAga2VybmVsL3RyYWNlL2Z0cmFjZS5jICB8IDEwOSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5z ZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51 eC9mdHJhY2UuaCBiL2luY2x1ZGUvbGludXgvZnRyYWNlLmgKPiBpbmRleCA5OWYxMTQ2NjE0YzAu LjM2NmM3MzBiZWFhMyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2xpbnV4L2Z0cmFjZS5oCj4gKysr IGIvaW5jbHVkZS9saW51eC9mdHJhY2UuaAo+IEBAIC0zOSw2ICszOSw3IEBAIHN0YXRpYyBpbmxp bmUgdm9pZCBmdHJhY2VfYm9vdF9zbmFwc2hvdCh2b2lkKSB7IH0KPiAgIAo+ICAgc3RydWN0IGZ0 cmFjZV9vcHM7Cj4gICBzdHJ1Y3QgZnRyYWNlX3JlZ3M7Cj4gK3N0cnVjdCBkeW5fZnRyYWNlOwo+ ICAgCj4gICAjaWZkZWYgQ09ORklHX0ZVTkNUSU9OX1RSQUNFUgo+ICAgLyoKPiBAQCAtNTcsNiAr NTgsOSBAQCB2b2lkIGFyY2hfZnRyYWNlX29wc19saXN0X2Z1bmModW5zaWduZWQgbG9uZyBpcCwg dW5zaWduZWQgbG9uZyBwYXJlbnRfaXApOwo+ICAgdm9pZCBhcmNoX2Z0cmFjZV9vcHNfbGlzdF9m dW5jKHVuc2lnbmVkIGxvbmcgaXAsIHVuc2lnbmVkIGxvbmcgcGFyZW50X2lwLAo+ICAgCQkJICAg ICAgIHN0cnVjdCBmdHJhY2Vfb3BzICpvcCwgc3RydWN0IGZ0cmFjZV9yZWdzICpmcmVncyk7Cj4g ICAjZW5kaWYKPiArZXh0ZXJuIGNvbnN0IHN0cnVjdCBmdHJhY2Vfb3BzIGZ0cmFjZV9ub3Bfb3Bz Owo+ICtleHRlcm4gY29uc3Qgc3RydWN0IGZ0cmFjZV9vcHMgZnRyYWNlX2xpc3Rfb3BzOwo+ICtz dHJ1Y3QgZnRyYWNlX29wcyAqZnRyYWNlX2ZpbmRfdW5pcXVlX29wcyhzdHJ1Y3QgZHluX2Z0cmFj ZSAqcmVjKTsKPiAgICNlbmRpZiAvKiBDT05GSUdfRlVOQ1RJT05fVFJBQ0VSICovCj4gICAKPiAg IC8qIE1haW4gdHJhY2luZyBidWZmZXIgYW5kIGV2ZW50cyBzZXQgdXAgKi8KPiBAQCAtMzkxLDgg KzM5NSw2IEBAIHN0cnVjdCBmdHJhY2VfZnVuY19lbnRyeSB7Cj4gICAJdW5zaWduZWQgbG9uZyBk aXJlY3Q7IC8qIGZvciBkaXJlY3QgbG9va3VwIG9ubHkgKi8KPiAgIH07Cj4gICAKPiAtc3RydWN0 IGR5bl9mdHJhY2U7Cj4gLQo+ICAgI2lmZGVmIENPTkZJR19EWU5BTUlDX0ZUUkFDRV9XSVRIX0RJ UkVDVF9DQUxMUwo+ICAgZXh0ZXJuIGludCBmdHJhY2VfZGlyZWN0X2Z1bmNfY291bnQ7Cj4gICBp bnQgcmVnaXN0ZXJfZnRyYWNlX2RpcmVjdCh1bnNpZ25lZCBsb25nIGlwLCB1bnNpZ25lZCBsb25n IGFkZHIpOwo+IEBAIC01NjMsNiArNTY1LDggQEAgYm9vbCBpc19mdHJhY2VfdHJhbXBvbGluZSh1 bnNpZ25lZCBsb25nIGFkZHIpOwo+ICAgICogIElQTU9ESUZZIC0gdGhlIHJlY29yZCBhbGxvd3Mg Zm9yIHRoZSBJUCBhZGRyZXNzIHRvIGJlIGNoYW5nZWQuCj4gICAgKiAgRElTQUJMRUQgLSB0aGUg cmVjb3JkIGlzIG5vdCByZWFkeSB0byBiZSB0b3VjaGVkIHlldAo+ICAgICogIERJUkVDVCAgIC0g dGhlcmUgaXMgYSBkaXJlY3QgZnVuY3Rpb24gdG8gY2FsbAo+ICsgKiAgQ0FMTF9PUFMgLSB0aGUg cmVjb3JkIGNhbiB1c2UgY2FsbHNpdGUtc3BlY2lmaWMgb3BzCj4gKyAqICBDQUxMX09QU19FTiAt IHRoZSBmdW5jdGlvbiBpcyBzZXQgdXAgdG8gdXNlIGNhbGxzaXRlLXNwZWNpZmljIG9wcwo+ICAg ICoKPiAgICAqIFdoZW4gYSBuZXcgZnRyYWNlX29wcyBpcyByZWdpc3RlcmVkIGFuZCB3YW50cyBh IGZ1bmN0aW9uIHRvIHNhdmUKPiAgICAqIHB0X3JlZ3MsIHRoZSByZWMtPmZsYWdzIFJFR1MgaXMg c2V0LiBXaGVuIHRoZSBmdW5jdGlvbiBoYXMgYmVlbgo+IEBAIC01ODAsOSArNTg0LDExIEBAIGVu dW0gewo+ICAgCUZUUkFDRV9GTF9ESVNBQkxFRAk9ICgxVUwgPDwgMjUpLAo+ICAgCUZUUkFDRV9G TF9ESVJFQ1QJPSAoMVVMIDw8IDI0KSwKPiAgIAlGVFJBQ0VfRkxfRElSRUNUX0VOCT0gKDFVTCA8 PCAyMyksCj4gKwlGVFJBQ0VfRkxfQ0FMTF9PUFMJPSAoMVVMIDw8IDIyKSwKPiArCUZUUkFDRV9G TF9DQUxMX09QU19FTgk9ICgxVUwgPDwgMjEpLAo+ICAgfTsKPiAgIAo+IC0jZGVmaW5lIEZUUkFD RV9SRUZfTUFYX1NISUZUCTIzCj4gKyNkZWZpbmUgRlRSQUNFX1JFRl9NQVhfU0hJRlQJMjEKPiAg ICNkZWZpbmUgRlRSQUNFX1JFRl9NQVgJCSgoMVVMIDw8IEZUUkFDRV9SRUZfTUFYX1NISUZUKSAt IDEpCj4gICAKPiAgICNkZWZpbmUgZnRyYWNlX3JlY19jb3VudChyZWMpCSgocmVjKS0+ZmxhZ3Mg JiBGVFJBQ0VfUkVGX01BWCkKPiBAQCAtODIwLDcgKzgyNiw4IEBAIHN0YXRpYyBpbmxpbmUgaW50 IGZ0cmFjZV9pbml0X25vcChzdHJ1Y3QgbW9kdWxlICptb2QsIHN0cnVjdCBkeW5fZnRyYWNlICpy ZWMpCj4gICAgKi8KPiAgIGV4dGVybiBpbnQgZnRyYWNlX21ha2VfY2FsbChzdHJ1Y3QgZHluX2Z0 cmFjZSAqcmVjLCB1bnNpZ25lZCBsb25nIGFkZHIpOwo+ICAgCj4gLSNpZmRlZiBDT05GSUdfRFlO QU1JQ19GVFJBQ0VfV0lUSF9SRUdTCj4gKyNpZiBkZWZpbmVkKENPTkZJR19EWU5BTUlDX0ZUUkFD RV9XSVRIX1JFR1MpIHx8IFwKPiArCWRlZmluZWQoQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhf Q0FMTF9PUFMpCj4gICAvKioKPiAgICAqIGZ0cmFjZV9tb2RpZnlfY2FsbCAtIGNvbnZlcnQgZnJv bSBvbmUgYWRkciB0byBhbm90aGVyIChubyBub3ApCj4gICAgKiBAcmVjOiB0aGUgY2FsbCBzaXRl IHJlY29yZCAoZS5nLiBtY291bnQvZmVudHJ5KQo+IEBAIC04MzMsNiArODQwLDkgQEAgZXh0ZXJu IGludCBmdHJhY2VfbWFrZV9jYWxsKHN0cnVjdCBkeW5fZnRyYWNlICpyZWMsIHVuc2lnbmVkIGxv bmcgYWRkcik7Cj4gICAgKiB3aGF0IHdlIGV4cGVjdCBpdCB0byBiZSwgYW5kIHRoZW4gb24gc3Vj Y2VzcyBvZiB0aGUgY29tcGFyZSwKPiAgICAqIGl0IHNob3VsZCB3cml0ZSB0byB0aGUgbG9jYXRp b24uCj4gICAgKgo+ICsgKiBXaGVuIHVzaW5nIGNhbGwgb3BzLCB0aGlzIGlzIGNhbGxlZCB3aGVu IHRoZSBhc3NvY2lhdGVkIG9wcyBjaGFuZ2UsIGV2ZW4KPiArICogd2hlbiAoYWRkciA9PSBvbGRf YWRkcikuCj4gKyAqCj4gICAgKiBUaGUgY29kZSBzZWdtZW50IGF0IEByZWMtPmlwIHNob3VsZCBi ZSBhIGNhbGxlciB0byBAb2xkX2FkZHIKPiAgICAqCj4gICAgKiBSZXR1cm4gbXVzdCBiZToKPiBk aWZmIC0tZ2l0IGEva2VybmVsL3RyYWNlL0tjb25maWcgYi9rZXJuZWwvdHJhY2UvS2NvbmZpZwo+ IGluZGV4IDE5NzU0NTI0MWFiOC4uNWRmNDI3YTIzMjFkIDEwMDY0NAo+IC0tLSBhL2tlcm5lbC90 cmFjZS9LY29uZmlnCj4gKysrIGIva2VybmVsL3RyYWNlL0tjb25maWcKPiBAQCAtNDIsNiArNDIs OSBAQCBjb25maWcgSEFWRV9EWU5BTUlDX0ZUUkFDRV9XSVRIX1JFR1MKPiAgIGNvbmZpZyBIQVZF X0RZTkFNSUNfRlRSQUNFX1dJVEhfRElSRUNUX0NBTExTCj4gICAJYm9vbAo+ICAgCj4gK2NvbmZp ZyBIQVZFX0RZTkFNSUNfRlRSQUNFX1dJVEhfQ0FMTF9PUFMKPiArCWJvb2wKPiArCj4gICBjb25m aWcgSEFWRV9EWU5BTUlDX0ZUUkFDRV9XSVRIX0FSR1MKPiAgIAlib29sCj4gICAJaGVscAo+IEBA IC0yNTcsNiArMjYwLDEwIEBAIGNvbmZpZyBEWU5BTUlDX0ZUUkFDRV9XSVRIX0RJUkVDVF9DQUxM Uwo+ICAgCWRlcGVuZHMgb24gRFlOQU1JQ19GVFJBQ0VfV0lUSF9SRUdTCj4gICAJZGVwZW5kcyBv biBIQVZFX0RZTkFNSUNfRlRSQUNFX1dJVEhfRElSRUNUX0NBTExTCj4gICAKPiArY29uZmlnIERZ TkFNSUNfRlRSQUNFX1dJVEhfQ0FMTF9PUFMKPiArCWRlZl9ib29sIHkKPiArCWRlcGVuZHMgb24g SEFWRV9EWU5BTUlDX0ZUUkFDRV9XSVRIX0NBTExfT1BTCj4gKwpIaSBNYXJrLApJIGhhdmUgdGVz dCB5b3VyIHBhdGNoZXMgYW5kIGl0IGxvb2tzIGZpbmUgd2l0aCBteSBzYW1wbGUgbW9kdWxlLCBi dXQgCmhlcmUgc2V0dGluZyBEWU5BTUlDX0ZUUkFDRV9XSVRIX0NBTExfT1BTIHRvIHkgaW1tdXRh Ymx5IG1heSBpbmNyZWFzZSAKdGhlIC50ZXh0IHNlY3Rpb24gc2l6ZSBieSA1JSBvciBtb3JlLCBo b3cgYWJvdXQgbWFraW5nIHRoaXMgdG8gb3B0aW9uYWxeXgoKLS0gV2FuZyBTaGFvQm8KPiAgIGNv bmZpZyBEWU5BTUlDX0ZUUkFDRV9XSVRIX0FSR1MKPiAgIAlkZWZfYm9vbCB5Cj4gICAJZGVwZW5k cyBvbiBEWU5BTUlDX0ZUUkFDRQo+IGRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvZnRyYWNlLmMg Yi9rZXJuZWwvdHJhY2UvZnRyYWNlLmMKPiBpbmRleCA0NDI0MzhiOTNmZTkuLmU2MzRiODBmNDlk MSAxMDA2NDQKPiAtLS0gYS9rZXJuZWwvdHJhY2UvZnRyYWNlLmMKPiArKysgYi9rZXJuZWwvdHJh Y2UvZnRyYWNlLmMKPiBAQCAtMTI1LDYgKzEyNSwzMyBAQCBzdHJ1Y3QgZnRyYWNlX29wcyBnbG9i YWxfb3BzOwo+ICAgdm9pZCBmdHJhY2Vfb3BzX2xpc3RfZnVuYyh1bnNpZ25lZCBsb25nIGlwLCB1 bnNpZ25lZCBsb25nIHBhcmVudF9pcCwKPiAgIAkJCSAgc3RydWN0IGZ0cmFjZV9vcHMgKm9wLCBz dHJ1Y3QgZnRyYWNlX3JlZ3MgKmZyZWdzKTsKPiAgIAo+ICsjaWZkZWYgQ09ORklHX0RZTkFNSUNf RlRSQUNFX1dJVEhfQ0FMTF9PUFMKPiArLyoKPiArICogU3R1YiB1c2VkIHRvIGludm9rZSB0aGUg bGlzdCBvcHMgd2l0aG91dCByZXF1aXJpbmcgYSBzZXBhcmF0ZSB0cmFtcG9saW5lLgo+ICsgKi8K PiArY29uc3Qgc3RydWN0IGZ0cmFjZV9vcHMgZnRyYWNlX2xpc3Rfb3BzID0gewo+ICsJLmZ1bmMJ PSBmdHJhY2Vfb3BzX2xpc3RfZnVuYywKPiArCS5mbGFncwk9IEZUUkFDRV9PUFNfRkxfU1RVQiwK PiArfTsKPiArCj4gK3N0YXRpYyB2b2lkIGZ0cmFjZV9vcHNfbm9wX2Z1bmModW5zaWduZWQgbG9u ZyBpcCwgdW5zaWduZWQgbG9uZyBwYXJlbnRfaXAsCj4gKwkJCQlzdHJ1Y3QgZnRyYWNlX29wcyAq b3AsCj4gKwkJCQlzdHJ1Y3QgZnRyYWNlX3JlZ3MgKmZyZWdzKQo+ICt7Cj4gKwkvKiBkbyBub3Ro aW5nICovCj4gK30KPiArCj4gKy8qCj4gKyAqIFN0dWIgdXNlZCB3aGVuIGEgY2FsbCBzaXRlIGlz IGRpc2FibGVkLiBNYXkgYmUgY2FsbGVkIHRyYW5zaWVudGx5IGJ5IHRocmVhZHMKPiArICogd2hp Y2ggaGF2ZSBtYWRlIGl0IGludG8gZnRyYWNlX2NhbGxlciBidXQgaGF2ZW4ndCB5ZXQgcmVjb3Zl cmVkIHRoZSBvcHMgYXQKPiArICogdGhlIHBvaW50IHRoZSBjYWxsIHNpdGUgaXMgZGlzYWJsZWQu Cj4gKyAqLwo+ICtjb25zdCBzdHJ1Y3QgZnRyYWNlX29wcyBmdHJhY2Vfbm9wX29wcyA9IHsKPiAr CS5mdW5jCT0gZnRyYWNlX29wc19ub3BfZnVuYywKPiArCS5mbGFncyAgPSBGVFJBQ0VfT1BTX0ZM X1NUVUIsCj4gK307Cj4gKyNlbmRpZgo+ICsKPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCBmdHJhY2Vf b3BzX2luaXQoc3RydWN0IGZ0cmFjZV9vcHMgKm9wcykKPiAgIHsKPiAgICNpZmRlZiBDT05GSUdf RFlOQU1JQ19GVFJBQ0UKPiBAQCAtMTgxNCw2ICsxODQxLDE4IEBAIHN0YXRpYyBib29sIF9fZnRy YWNlX2hhc2hfcmVjX3VwZGF0ZShzdHJ1Y3QgZnRyYWNlX29wcyAqb3BzLAo+ICAgCQkJICogaWYg cmVjIGNvdW50IGlzIHplcm8uCj4gICAJCQkgKi8KPiAgIAkJfQo+ICsKPiArCQkvKgo+ICsJCSAq IElmIHRoZSByZWMgaGFzIGEgc2luZ2xlIGFzc29jaWF0ZWQgb3BzLCBhbmQgb3BzLT5mdW5jIGNh biBiZQo+ICsJCSAqIGNhbGxlZCBkaXJlY3RseSwgYWxsb3cgdGhlIGNhbGwgc2l0ZSB0byBjYWxs IHZpYSB0aGUgb3BzLgo+ICsJCSAqLwo+ICsJCWlmIChJU19FTkFCTEVEKENPTkZJR19EWU5BTUlD X0ZUUkFDRV9XSVRIX0NBTExfT1BTKSAmJgo+ICsJCSAgICBmdHJhY2VfcmVjX2NvdW50KHJlYykg PT0gMSAmJgo+ICsJCSAgICBmdHJhY2Vfb3BzX2dldF9mdW5jKG9wcykgPT0gb3BzLT5mdW5jKQo+ ICsJCQlyZWMtPmZsYWdzIHw9IEZUUkFDRV9GTF9DQUxMX09QUzsKPiArCQllbHNlCj4gKwkJCXJl Yy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9DQUxMX09QUzsKPiArCj4gICAJCWNvdW50Kys7Cj4gICAK PiAgIAkJLyogTXVzdCBtYXRjaCBGVFJBQ0VfVVBEQVRFX0NBTExTIGluIGZ0cmFjZV9tb2RpZnlf YWxsX2NvZGUoKSAqLwo+IEBAIC0yMTA4LDggKzIxNDcsOSBAQCB2b2lkIGZ0cmFjZV9idWcoaW50 IGZhaWxlZCwgc3RydWN0IGR5bl9mdHJhY2UgKnJlYykKPiAgIAkJc3RydWN0IGZ0cmFjZV9vcHMg Km9wcyA9IE5VTEw7Cj4gICAKPiAgIAkJcHJfaW5mbygiZnRyYWNlIHJlY29yZCBmbGFnczogJWx4 XG4iLCByZWMtPmZsYWdzKTsKPiAtCQlwcl9jb250KCIgKCVsZCklcyIsIGZ0cmFjZV9yZWNfY291 bnQocmVjKSwKPiAtCQkJcmVjLT5mbGFncyAmIEZUUkFDRV9GTF9SRUdTID8gIiBSIiA6ICIgICIp Owo+ICsJCXByX2NvbnQoIiAoJWxkKSVzJXMiLCBmdHJhY2VfcmVjX2NvdW50KHJlYyksCj4gKwkJ CXJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfUkVHUyA/ICIgUiIgOiAiICAiLAo+ICsJCQlyZWMtPmZs YWdzICYgRlRSQUNFX0ZMX0NBTExfT1BTID8gIiBPIiA6ICIgICIpOwo+ICAgCQlpZiAocmVjLT5m bGFncyAmIEZUUkFDRV9GTF9UUkFNUF9FTikgewo+ICAgCQkJb3BzID0gZnRyYWNlX2ZpbmRfdHJh bXBfb3BzX2FueShyZWMpOwo+ICAgCQkJaWYgKG9wcykgewo+IEBAIC0yMTc3LDYgKzIyMTcsNyBA QCBzdGF0aWMgaW50IGZ0cmFjZV9jaGVja19yZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYywg Ym9vbCBlbmFibGUsIGJvb2wgdXBkYXRlKQo+ICAgCQkgKiB3YW50IHRoZSBkaXJlY3QgZW5hYmxl ZCAoaXQgd2lsbCBiZSBkb25lIHZpYSB0aGUKPiAgIAkJICogZGlyZWN0IGhlbHBlcikuIEJ1dCBp ZiBESVJFQ1RfRU4gaXMgc2V0LCBhbmQKPiAgIAkJICogdGhlIGNvdW50IGlzIG5vdCBvbmUsIHdl IG5lZWQgdG8gY2xlYXIgaXQuCj4gKwkJICoKPiAgIAkJICovCj4gICAJCWlmIChmdHJhY2VfcmVj X2NvdW50KHJlYykgPT0gMSkgewo+ICAgCQkJaWYgKCEocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9E SVJFQ1QpICE9Cj4gQEAgLTIxODUsNiArMjIyNiwxOSBAQCBzdGF0aWMgaW50IGZ0cmFjZV9jaGVj a19yZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYywgYm9vbCBlbmFibGUsIGJvb2wgdXBkYXRl KQo+ICAgCQl9IGVsc2UgaWYgKHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRElSRUNUX0VOKSB7Cj4g ICAJCQlmbGFnIHw9IEZUUkFDRV9GTF9ESVJFQ1Q7Cj4gICAJCX0KPiArCj4gKwkJLyoKPiArCQkg KiBPcHMgY2FsbHMgYXJlIHNwZWNpYWwsIGFzIGNvdW50IG1hdHRlcnMuCj4gKwkJICogQXMgd2l0 aCBkaXJlY3QgY2FsbHMsIHRoZXkgbXVzdCBvbmx5IGJlIGVuYWJsZWQgd2hlbiBjb3VudAo+ICsJ CSAqIGlzIG9uZSwgb3RoZXJ3aXNlIHRoZXknbGwgYmUgaGFuZGxlZCB2aWEgdGhlIGxpc3Qgb3Bz Lgo+ICsJCSAqLwo+ICsJCWlmIChmdHJhY2VfcmVjX2NvdW50KHJlYykgPT0gMSkgewo+ICsJCQlp ZiAoIShyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0NBTExfT1BTKSAhPQo+ICsJCQkgICAgIShyZWMt PmZsYWdzICYgRlRSQUNFX0ZMX0NBTExfT1BTX0VOKSkKPiArCQkJCWZsYWcgfD0gRlRSQUNFX0ZM X0NBTExfT1BTOwo+ICsJCX0gZWxzZSBpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9DQUxMX09Q U19FTikgewo+ICsJCQlmbGFnIHw9IEZUUkFDRV9GTF9DQUxMX09QUzsKPiArCQl9Cj4gICAJfQo+ ICAgCj4gICAJLyogSWYgdGhlIHN0YXRlIG9mIHRoaXMgcmVjb3JkIGhhc24ndCBjaGFuZ2VkLCB0 aGVuIGRvIG5vdGhpbmcgKi8KPiBAQCAtMjIyOSw2ICsyMjgzLDIxIEBAIHN0YXRpYyBpbnQgZnRy YWNlX2NoZWNrX3JlY29yZChzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjLCBib29sIGVuYWJsZSwgYm9v bCB1cGRhdGUpCj4gICAJCQkJCXJlYy0+ZmxhZ3MgJj0gfkZUUkFDRV9GTF9ESVJFQ1RfRU47Cj4g ICAJCQkJfQo+ICAgCQkJfQo+ICsKPiArCQkJaWYgKGZsYWcgJiBGVFJBQ0VfRkxfQ0FMTF9PUFMp IHsKPiArCQkJCWlmIChmdHJhY2VfcmVjX2NvdW50KHJlYykgPT0gMSkgewo+ICsJCQkJCWlmIChy ZWMtPmZsYWdzICYgRlRSQUNFX0ZMX0NBTExfT1BTKQo+ICsJCQkJCQlyZWMtPmZsYWdzIHw9IEZU UkFDRV9GTF9DQUxMX09QU19FTjsKPiArCQkJCQllbHNlCj4gKwkJCQkJCXJlYy0+ZmxhZ3MgJj0g fkZUUkFDRV9GTF9DQUxMX09QU19FTjsKPiArCQkJCX0gZWxzZSB7Cj4gKwkJCQkJLyoKPiArCQkJ CQkgKiBDYW4gb25seSBjYWxsIGRpcmVjdGx5IGlmIHRoZXJlJ3MKPiArCQkJCQkgKiBvbmx5IG9u ZSBzZXQgb2YgYXNzb2NpYXRlZCBvcHMuCj4gKwkJCQkJICovCj4gKwkJCQkJcmVjLT5mbGFncyAm PSB+RlRSQUNFX0ZMX0NBTExfT1BTX0VOOwo+ICsJCQkJfQo+ICsJCQl9Cj4gICAJCX0KPiAgIAo+ ICAgCQkvKgo+IEBAIC0yMjU4LDcgKzIzMjcsOCBAQCBzdGF0aWMgaW50IGZ0cmFjZV9jaGVja19y ZWNvcmQoc3RydWN0IGR5bl9mdHJhY2UgKnJlYywgYm9vbCBlbmFibGUsIGJvb2wgdXBkYXRlKQo+ ICAgCQkJICogYW5kIFJFR1Mgc3RhdGVzLiBUaGUgX0VOIGZsYWdzIG11c3QgYmUgZGlzYWJsZWQg dGhvdWdoLgo+ICAgCQkJICovCj4gICAJCQlyZWMtPmZsYWdzICY9IH4oRlRSQUNFX0ZMX0VOQUJM RUQgfCBGVFJBQ0VfRkxfVFJBTVBfRU4gfAo+IC0JCQkJCUZUUkFDRV9GTF9SRUdTX0VOIHwgRlRS QUNFX0ZMX0RJUkVDVF9FTik7Cj4gKwkJCQkJRlRSQUNFX0ZMX1JFR1NfRU4gfCBGVFJBQ0VfRkxf RElSRUNUX0VOIHwKPiArCQkJCQlGVFJBQ0VfRkxfQ0FMTF9PUFNfRU4pOwo+ICAgCX0KPiAgIAo+ ICAgCWZ0cmFjZV9idWdfdHlwZSA9IEZUUkFDRV9CVUdfTk9QOwo+IEBAIC0yNDMxLDYgKzI1MDEs MjUgQEAgZnRyYWNlX2ZpbmRfdHJhbXBfb3BzX25ldyhzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQo+ ICAgCXJldHVybiBOVUxMOwo+ICAgfQo+ICAgCj4gK3N0cnVjdCBmdHJhY2Vfb3BzICoKPiArZnRy YWNlX2ZpbmRfdW5pcXVlX29wcyhzdHJ1Y3QgZHluX2Z0cmFjZSAqcmVjKQo+ICt7Cj4gKwlzdHJ1 Y3QgZnRyYWNlX29wcyAqb3AsICpmb3VuZCA9IE5VTEw7Cj4gKwl1bnNpZ25lZCBsb25nIGlwID0g cmVjLT5pcDsKPiArCj4gKwlkb19mb3JfZWFjaF9mdHJhY2Vfb3Aob3AsIGZ0cmFjZV9vcHNfbGlz dCkgewo+ICsKPiArCQlpZiAoaGFzaF9jb250YWluc19pcChpcCwgb3AtPmZ1bmNfaGFzaCkpIHsK PiArCQkJaWYgKGZvdW5kKQo+ICsJCQkJcmV0dXJuIE5VTEw7Cj4gKwkJCWZvdW5kID0gb3A7Cj4g KwkJfQo+ICsKPiArCX0gd2hpbGVfZm9yX2VhY2hfZnRyYWNlX29wKG9wKTsKPiArCj4gKwlyZXR1 cm4gZm91bmQ7Cj4gK30KPiArCj4gICAjaWZkZWYgQ09ORklHX0RZTkFNSUNfRlRSQUNFX1dJVEhf RElSRUNUX0NBTExTCj4gICAvKiBQcm90ZWN0ZWQgYnkgcmN1X3Rhc2tzIGZvciByZWFkaW5nLCBh bmQgZGlyZWN0X211dGV4IGZvciB3cml0aW5nICovCj4gICBzdGF0aWMgc3RydWN0IGZ0cmFjZV9o YXNoICpkaXJlY3RfZnVuY3Rpb25zID0gRU1QVFlfSEFTSDsKPiBAQCAtMzc4MCwxMSArMzg2OSwx MiBAQCBzdGF0aWMgaW50IHRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCj4gICAJ aWYgKGl0ZXItPmZsYWdzICYgRlRSQUNFX0lURVJfRU5BQkxFRCkgewo+ICAgCQlzdHJ1Y3QgZnRy YWNlX29wcyAqb3BzOwo+ICAgCj4gLQkJc2VxX3ByaW50ZihtLCAiICglbGQpJXMlcyVzIiwKPiAr CQlzZXFfcHJpbnRmKG0sICIgKCVsZCklcyVzJXMlcyIsCj4gICAJCQkgICBmdHJhY2VfcmVjX2Nv dW50KHJlYyksCj4gICAJCQkgICByZWMtPmZsYWdzICYgRlRSQUNFX0ZMX1JFR1MgPyAiIFIiIDog IiAgIiwKPiAgIAkJCSAgIHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfSVBNT0RJRlkgPyAiIEkiIDog IiAgIiwKPiAtCQkJICAgcmVjLT5mbGFncyAmIEZUUkFDRV9GTF9ESVJFQ1QgPyAiIEQiIDogIiAg Iik7Cj4gKwkJCSAgIHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfRElSRUNUID8gIiBEIiA6ICIgICIs Cj4gKwkJCSAgIHJlYy0+ZmxhZ3MgJiBGVFJBQ0VfRkxfQ0FMTF9PUFMgPyAiIE8iIDogIiAgIik7 Cj4gICAJCWlmIChyZWMtPmZsYWdzICYgRlRSQUNFX0ZMX1RSQU1QX0VOKSB7Cj4gICAJCQlvcHMg PSBmdHJhY2VfZmluZF90cmFtcF9vcHNfYW55KHJlYyk7Cj4gICAJCQlpZiAob3BzKSB7Cj4gQEAg LTM4MDAsNiArMzg5MCwxNSBAQCBzdGF0aWMgaW50IHRfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0s IHZvaWQgKnYpCj4gICAJCX0gZWxzZSB7Cj4gICAJCQlhZGRfdHJhbXBvbGluZV9mdW5jKG0sIE5V TEwsIHJlYyk7Cj4gICAJCX0KPiArCQlpZiAocmVjLT5mbGFncyAmIEZUUkFDRV9GTF9DQUxMX09Q U19FTikgewo+ICsJCQlvcHMgPSBmdHJhY2VfZmluZF91bmlxdWVfb3BzKHJlYyk7Cj4gKwkJCWlm IChvcHMpIHsKPiArCQkJCXNlcV9wcmludGYobSwgIlx0b3BzOiAlcFMgKCVwUykiLAo+ICsJCQkJ CSAgIG9wcywgb3BzLT5mdW5jKTsKPiArCQkJfSBlbHNlIHsKPiArCQkJCXNlcV9wdXRzKG0sICJc dG9wczogRVJST1IhIik7Cj4gKwkJCX0KPiArCQl9Cj4gICAJCWlmIChyZWMtPmZsYWdzICYgRlRS QUNFX0ZMX0RJUkVDVCkgewo+ICAgCQkJdW5zaWduZWQgbG9uZyBkaXJlY3Q7Cj4gICAKPiAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK