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 X-Spam-Level: X-Spam-Status: No, score=-13.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67663C49361 for ; Thu, 17 Jun 2021 17:53:32 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id AD5B9613CB for ; Thu, 17 Jun 2021 17:53:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AD5B9613CB Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=mail.ustc.edu.cn Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org 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:MIME-Version:References:In-Reply-To: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IZXH3GViSbP/WdT9XMbS8HWh8hVEXVOHGxou1Wgzl04=; b=Ip9v8XSvDXW86q z1bGktKBK0w8J+hg6GEWz2zTQauLTLlk4vhFbEE5JcgECs+X8lBES1MIA15uoZxKSM8FcdEHA1X3A yPWknTsqUAhAGS9LQefGbBvbWESKQygt3sJcb+6AafI/yEu28v+na/K6EY6wHZWAmGPAcRkIo8j1h 41pzvbCcGrFV2vVHXMeqIfBY+QNuv+AEKCCtB2O/mAyEzwHj1DiOgZ7vttptsrAUqhQweBSQPEA33 eHm1EQ0QrPMUR/XfDxZiQtyuotF4t1t865zsiP24J36KS9Sqo4xsZsapsVdlbE184oNQL+g9eed6o Qe8pishx89NVjOB3HYVg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ltwCY-00BHzk-Pi; Thu, 17 Jun 2021 17:53:14 +0000 Received: from email6.ustc.edu.cn ([2001:da8:d800::8] helo=ustc.edu.cn) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ltwCR-00BHx0-9C for linux-riscv@lists.infradead.org; Thu, 17 Jun 2021 17:53:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mail.ustc.edu.cn; s=dkim; h=Received:Date:From:To:Cc:Subject: Message-ID:In-Reply-To:References:MIME-Version:Content-Type: Content-Transfer-Encoding; bh=IOBrKClZen/HSLrZPFTst8mtCS391FCnHC ONgNtWcDk=; b=onNimX813Mz2KtxuDZj7LlBv5jzacztbkb/1HK9x3a2vX8RcE6 pXz+/KuwpoL9WSYX8DM5Mo/9HHoEIjIyx3+VflLhRIDAf0k08wBa3NXsjw2W3Jhe AFf8aphZt6TKRlju9OOYC/N39RGNLsd8q/iVTDTlA67IcgOayylQcRO2s= Received: from xhacker (unknown [101.86.20.15]) by newmailweb.ustc.edu.cn (Coremail) with SMTP id LkAmygC3vIjfi8tgXif3AA--.5330S2; Fri, 18 Jun 2021 01:52:31 +0800 (CST) Date: Fri, 18 Jun 2021 01:46:48 +0800 From: Jisheng Zhang To: Alex Ghiti Cc: Palmer Dabbelt , schwab@linux-m68k.org, Paul Walmsley , aou@eecs.berkeley.edu, ryabinin.a.a@gmail.com, glider@google.com, andreyknvl@gmail.com, dvyukov@google.com, bjorn@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, kafai@fb.com, songliubraving@fb.com, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, luke.r.nels@gmail.com, xi.wang@gmail.com, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, netdev@vger.kernel.org, bpf@vger.kernel.org Subject: Re: [PATCH] riscv: Ensure BPF_JIT_REGION_START aligned with PMD size Message-ID: <20210618014648.1857a62a@xhacker> In-Reply-To: <20210618012731.345657bf@xhacker> References: <50ebc99c-f0a2-b4ea-fc9b-cd93a8324697@ghiti.fr> <20210618012731.345657bf@xhacker> MIME-Version: 1.0 X-CM-TRANSID: LkAmygC3vIjfi8tgXif3AA--.5330S2 X-Coremail-Antispam: 1UD129KBjvJXoWfJr48uF48Ar4DAry8Gw48Zwb_yoWDur18pr 1kJF43GrWrJr18X342qry5Cryjyw1UAasFqrn8Ja4rJF9rKF1jqr1jqFy3urnFqF48A3W2 yr4DJrZIv345A3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUkCb7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26ryj6rWUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwV C2z280aVCY1x0267AKxVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVAC Y4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJV W8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lFIxGxcIEc7CjxVA2Y2ka0xkI wI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxV WUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r4a6rW5MIIYrxkI 7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r 4j6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWrJr0_WFyUJwCI42IY6I8E87Iv67AKxVWUJVW8 JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjxUg0D7DU UUU X-CM-SenderInfo: xmv2xttqjtqzxdloh3xvwfhvlgxou0/ X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210617_105308_163311_39CA5AE5 X-CRM114-Status: GOOD ( 40.69 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gRnJpLCAxOCBKdW4gMjAyMSAwMToyNzozMSArMDgwMApKaXNoZW5nIFpoYW5nIDxqc3poYW5n M0BtYWlsLnVzdGMuZWR1LmNuPiB3cm90ZToKCj4gT24gVGh1LCAxNyBKdW4gMjAyMSAxNjoxODo1 NCArMDIwMAo+IEFsZXggR2hpdGkgPGFsZXhAZ2hpdGkuZnI+IHdyb3RlOgo+IAo+ID4gTGUgMTcv MDYvMjAyMSDDoCAxMDowOSwgQWxleCBHaGl0aSBhIMOpY3JpdMKgOiAgCj4gPiA+IExlIDE3LzA2 LzIwMjEgw6AgMDk6MzAsIFBhbG1lciBEYWJiZWx0IGEgw6ljcml0wqA6ICAgIAo+ID4gPj4gT24g VHVlLCAxNSBKdW4gMjAyMSAxNzowMzoyOCBQRFQgKC0wNzAwKSwganN6aGFuZzNAbWFpbC51c3Rj LmVkdS5jbiAKPiA+ID4+IHdyb3RlOiAgICAKPiA+ID4+PiBPbiBUdWUsIDE1IEp1biAyMDIxIDIw OjU0OjE5ICswMjAwCj4gPiA+Pj4gQWxleCBHaGl0aSA8YWxleEBnaGl0aS5mcj4gd3JvdGU6Cj4g PiA+Pj4gICAgCj4gPiA+Pj4+IEhpIEppc2hlbmcsICAgIAo+ID4gPj4+Cj4gPiA+Pj4gSGkgQWxl eCwKPiA+ID4+PiAgICAKPiA+ID4+Pj4KPiA+ID4+Pj4gTGUgMTQvMDYvMjAyMSDDoCAxODo0OSwg SmlzaGVuZyBaaGFuZyBhIMOpY3JpdMKgOiAgICAKPiA+ID4+Pj4gPiBGcm9tOiBKaXNoZW5nIFpo YW5nIDxqc3poYW5nQGtlcm5lbC5vcmc+ICAgIAo+ID4gPj4+PiA+ID4gQW5kcmVhcyByZXBvcnRl ZCBjb21taXQgZmM4NTA0NzY1ZWM1ICgicmlzY3Y6IGJwZjogQXZvaWQgICAgIAo+ID4gPj4+PiBi cmVha2luZyBXXlgiKSAgICAKPiA+ID4+Pj4gPiBicmVha3MgYm9vdGluZyB3aXRoIG9uZSBraW5k IG9mIGNvbmZpZyBmaWxlLCBJIHJlcHJvZHVjZWQgYSBrZXJuZWwgICAgIAo+ID4gPj4+PiBwYW5p YyAgICAKPiA+ID4+Pj4gPiB3aXRoIHRoZSBjb25maWc6ICAgIAo+ID4gPj4+PiA+ID4gW8KgwqDC oCAwLjEzODU1M10gVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgdmly dHVhbCAgICAgCj4gPiA+Pj4+IGFkZHJlc3MgZmZmZmZmZmY4MTIwMTIyMCAgICAKPiA+ID4+Pj4g PiBbwqDCoMKgIDAuMTM5MTU5XSBPb3BzIFsjMV0KPiA+ID4+Pj4gPiBbwqDCoMKgIDAuMTM5MzAz XSBNb2R1bGVzIGxpbmtlZCBpbjoKPiA+ID4+Pj4gPiBbwqDCoMKgIDAuMTM5NjAxXSBDUFU6IDAg UElEOiAxIENvbW06IHN3YXBwZXIvMCBOb3QgdGFpbnRlZCAgICAgCj4gPiA+Pj4+IDUuMTMuMC1y YzUtZGVmYXVsdCsgIzEgICAgCj4gPiA+Pj4+ID4gW8KgwqDCoCAwLjEzOTkzNF0gSGFyZHdhcmUg bmFtZTogcmlzY3YtdmlydGlvLHFlbXUgKERUKQo+ID4gPj4+PiA+IFvCoMKgwqAgMC4xNDAxOTNd IGVwYyA6IF9fbWVtc2V0KzB4YzQvMHhmYwo+ID4gPj4+PiA+IFvCoMKgwqAgMC4xNDA0MTZdwqAg cmEgOiBza2JfZmxvd19kaXNzZWN0b3JfaW5pdCsweDFlLzB4ODIKPiA+ID4+Pj4gPiBbwqDCoMKg IDAuMTQwNjA5XSBlcGMgOiBmZmZmZmZmZjgwMjk4MDZjIHJhIDogZmZmZmZmZmY4MDMzYmU3OCBz cCA6ICAgICAKPiA+ID4+Pj4gZmZmZmZmZTAwMTY0N2RhMCAgICAKPiA+ID4+Pj4gPiBbwqDCoMKg IDAuMTQwODc4XcKgIGdwIDogZmZmZmZmZmY4MTEzNGIwOCB0cCA6IGZmZmZmZmUwMDE2NTQzODAg dDAgOiAgICAgCj4gPiA+Pj4+IGZmZmZmZmZmODEyMDExNTggICAgCj4gPiA+Pj4+ID4gW8KgwqDC oCAwLjE0MTE1Nl3CoCB0MSA6IDAwMDAwMDAwMDAwMDAwMDIgdDIgOiAwMDAwMDAwMDAwMDAwMTU0 IHMwIDogICAgIAo+ID4gPj4+PiBmZmZmZmZlMDAxNjQ3ZGQwICAgIAo+ID4gPj4+PiA+IFvCoMKg wqAgMC4xNDE0MjRdwqAgczEgOiBmZmZmZmZmZjgwYTQzMjUwIGEwIDogZmZmZmZmZmY4MTIwMTIy MCBhMSA6ICAgICAKPiA+ID4+Pj4gMDAwMDAwMDAwMDAwMDAwMCAgICAKPiA+ID4+Pj4gPiBbwqDC oMKgIDAuMTQxNjU0XcKgIGEyIDogMDAwMDAwMDAwMDAwMDAzYyBhMyA6IGZmZmZmZmZmODEyMDEy NTggYTQgOiAgICAgCj4gPiA+Pj4+IDAwMDAwMDAwMDAwMDAwNjQgICAgCj4gPiA+Pj4+ID4gW8Kg wqDCoCAwLjE0MTg5M13CoCBhNSA6IGZmZmZmZmZmODAyOTgwNmMgYTYgOiAwMDAwMDAwMDAwMDAw MDQwIGE3IDogICAgIAo+ID4gPj4+PiBmZmZmZmZmZmZmZmZmZmZmICAgIAo+ID4gPj4+PiA+IFvC oMKgwqAgMC4xNDIxMjZdwqAgczIgOiBmZmZmZmZmZjgxMjAxMjIwIHMzIDogMDAwMDAwMDAwMDAw MDAwOSBzNCA6ICAgICAKPiA+ID4+Pj4gZmZmZmZmZmY4MTEzNTA4OCAgICAKPiA+ID4+Pj4gPiBb wqDCoMKgIDAuMTQyMzUzXcKgIHM1IDogZmZmZmZmZmY4MTEzNTAzOCBzNiA6IGZmZmZmZmZmODA4 MGNlODAgczcgOiAgICAgCj4gPiA+Pj4+IGZmZmZmZmZmODA4MDA0MzggICAgCj4gPiA+Pj4+ID4g W8KgwqDCoCAwLjE0MjU4NF3CoCBzOCA6IGZmZmZmZmZmODBiYzY1NzggczkgOiAwMDAwMDAwMDAw MDAwMDA4IHMxMDogICAgIAo+ID4gPj4+PiBmZmZmZmZmZjgwNjAwMGFjICAgIAo+ID4gPj4+PiA+ IFvCoMKgwqAgMC4xNDI4MTBdwqAgczExOiAwMDAwMDAwMDAwMDAwMDAwIHQzIDogZmZmZmZmZmZm ZmZmZmZmYyB0NCA6ICAgICAKPiA+ID4+Pj4gMDAwMDAwMDAwMDAwMDAwMCAgICAKPiA+ID4+Pj4g PiBbwqDCoMKgIDAuMTQzMDQyXcKgIHQ1IDogMDAwMDAwMDAwMDAwMDE1NSB0NiA6IDAwMDAwMDAw MDAwMDAzZmYKPiA+ID4+Pj4gPiBbwqDCoMKgIDAuMTQzMjIwXSBzdGF0dXM6IDAwMDAwMDAwMDAw MDAxMjAgYmFkYWRkcjogZmZmZmZmZmY4MTIwMTIyMCAgICAgCj4gPiA+Pj4+IGNhdXNlOiAwMDAw MDAwMDAwMDAwMDBmICAgIAo+ID4gPj4+PiA+IFvCoMKgwqAgMC4xNDM1NjBdIFs8ZmZmZmZmZmY4 MDI5ODA2Yz5dIF9fbWVtc2V0KzB4YzQvMHhmYwo+ID4gPj4+PiA+IFvCoMKgwqAgMC4xNDM4NTld IFs8ZmZmZmZmZmY4MDYxZTk4ND5dICAgICAKPiA+ID4+Pj4gaW5pdF9kZWZhdWx0X2Zsb3dfZGlz c2VjdG9ycysweDIyLzB4NjAgICAgCj4gPiA+Pj4+ID4gW8KgwqDCoCAwLjE0NDA5Ml0gWzxmZmZm ZmZmZjgwMDAxMGZjPl0gZG9fb25lX2luaXRjYWxsKzB4M2UvMHgxNjgKPiA+ID4+Pj4gPiBbwqDC oMKgIDAuMTQ0Mjc4XSBbPGZmZmZmZmZmODA2MDBkZjA+XSBrZXJuZWxfaW5pdF9mcmVlYWJsZSsw eDFjOC8weDIyNAo+ID4gPj4+PiA+IFvCoMKgwqAgMC4xNDQ0NzldIFs8ZmZmZmZmZmY4MDQ4Njhh OD5dIGtlcm5lbF9pbml0KzB4MTIvMHgxMTAKPiA+ID4+Pj4gPiBbwqDCoMKgIDAuMTQ0NjU4XSBb PGZmZmZmZmZmODAwMDIyZGU+XSByZXRfZnJvbV9leGNlcHRpb24rMHgwLzB4Ywo+ID4gPj4+PiA+ IFvCoMKgwqAgMC4xNDUxMjRdIC0tLVsgZW5kIHRyYWNlIGYxZTk2NDNkYWE0NmQ1OTEgXS0tLSAg ICAKPiA+ID4+Pj4gPiA+IEFmdGVyIHNvbWUgaW52ZXN0aWdhdGlvbiwgSSB0aGluayBJIGZvdW5k IHRoZSByb290IGNhdXNlOiBjb21taXQgICAgCj4gPiA+Pj4+ID4gMmJmYzZjZDgxYmQgKCJtb3Zl IGtlcm5lbCBtYXBwaW5nIG91dHNpZGUgb2YgbGluZWFyIG1hcHBpbmciKSBtb3Zlcwo+ID4gPj4+ PiA+IEJQRiBKSVQgcmVnaW9uIGFmdGVyIHRoZSBrZXJuZWw6ICAgIAo+ID4gPj4+PiA+ID4gVGhl ICZfZW5kIGlzIHVubGlrZWx5IGFsaWduZWQgd2l0aCBQTUQgc2l6ZSwgc28gdGhlIGZyb250IGJw ZiBqaXQgICAgCj4gPiA+Pj4+ID4gcmVnaW9uIHNpdHMgd2l0aCBwYXJ0IG9mIGtlcm5lbCAuZGF0 YSBzZWN0aW9uIGluIG9uZSBQTUQgc2l6ZSAgICAgCj4gPiA+Pj4+IG1hcHBpbmcuICAgIAo+ID4g Pj4+PiA+IEJ1dCBrZXJuZWwgaXMgbWFwcGVkIGluIFBNRCBTSVpFLCB3aGVuIGJwZl9qaXRfYmlu YXJ5X2xvY2tfcm8oKSBpcwo+ID4gPj4+PiA+IGNhbGxlZCB0byBtYWtlIHRoZSBmaXJzdCBicGYg aml0IHByb2cgUk9YLCB3ZSB3aWxsIG1ha2UgcGFydCBvZiAgICAgCj4gPiA+Pj4+IGtlcm5lbCAg ICAKPiA+ID4+Pj4gPiAuZGF0YSBzZWN0aW9uIFJPIHRvbywgc28gd2hlbiB3ZSB3cml0ZSB0bywg Zm9yIGV4YW1wbGUgbWVtc2V0IHRoZQo+ID4gPj4+PiA+IC5kYXRhIHNlY3Rpb24sIE1NVSB3aWxs IHRyaWdnZXIgYSBzdG9yZSBwYWdlIGZhdWx0LiAgICAKPiA+ID4+Pj4gR29vZCBjYXRjaCwgd2Ug bWFrZSBzdXJlIG5vIHBoeXNpY2FsIGFsbG9jYXRpb24gaGFwcGVucyBiZXR3ZWVuIF9lbmQgCj4g PiA+Pj4+IGFuZCB0aGUgbmV4dCBQTUQgYWxpZ25lZCBhZGRyZXNzLCBidXQgSSBtaXNzZWQgdGhp cyBvbmUuCj4gPiA+Pj4+ICAgIAo+ID4gPj4+PiA+ID4gVG8gZml4IHRoZSBpc3N1ZSwgd2UgbmVl ZCB0byBlbnN1cmUgdGhlIEJQRiBKSVQgcmVnaW9uIGlzIFBNRCBzaXplICAgIAo+ID4gPj4+PiA+ IGFsaWduZWQuIFRoaXMgcGF0Y2ggYWNjaGlldmUgdGhpcyBnb2FsIGJ5IHJlc3RvcmluZyB0aGUg QlBGIEpJVCAgICAgCj4gPiA+Pj4+IHJlZ2lvbiAgICAKPiA+ID4+Pj4gPiB0byBvcmlnaW5hbCBw b3NpdGlvbiwgSS5FIHRoZSAxMjhNQiBiZWZvcmUga2VybmVsIC50ZXh0IHNlY3Rpb24uICAgIAo+ ID4gPj4+PiBCdXQgSSBkaXNhZ3JlZSB3aXRoIHlvdXIgc29sdXRpb246IEkgbWFkZSBzdXJlIG1v ZHVsZXMgYW5kIEJQRiAKPiA+ID4+Pj4gcHJvZ3JhbXMgZ2V0IHRoZWlyIG93biB2aXJ0dWFsIHJl Z2lvbnMgdG8gYXZvaWQgd29yc3QgY2FzZSBzY2VuYXJpbyAKPiA+ID4+Pj4gd2hlcmUgb25lIGNv dWxkIGFsbG9jYXRlIGFsbCB0aGUgc3BhY2UgYW5kIGxlYXZlIG5vdGhpbmcgdG8gdGhlIAo+ID4g Pj4+PiBvdGhlciAod2UgYXJlIGxpbWl0ZWQgdG8gKy0gMkdCIG9mZnNldCkuIFdoeSBkb24ndCBq dXN0IGFsaWduIAo+ID4gPj4+PiBCUEZfSklUX1JFR0lPTl9TVEFSVCB0byB0aGUgbmV4dCBQTUQg YWxpZ25lZCBhZGRyZXNzPyAgICAKPiA+ID4+Pgo+ID4gPj4+IE9yaWdpbmFsbHksIEkgcGxhbmVk IHRvIGZpeCB0aGUgaXNzdWUgYnkgYWxpZ25pbmcgCj4gPiA+Pj4gQlBGX0pJVF9SRUdJT05fU1RB UlQsIGJ1dAo+ID4gPj4+IElJUkMsIEJQRiBleHBlcnRzIGFyZSBhZGRpbmcgKG9yIGhhdmUgYWRk ZWQpICJDYWxsaW5nIGtlcm5lbCAKPiA+ID4+PiBmdW5jdGlvbnMgZnJvbSBCUEYiCj4gPiA+Pj4g ZmVhdHVyZSwgdGhlcmUncyBhIHJpc2sgdGhhdCBCUEYgSklUIHJlZ2lvbiBpcyBiZXlvbmQgdGhl IDJHQiBvZiAKPiA+ID4+PiBtb2R1bGUgcmVnaW9uOgo+ID4gPj4+Cj4gPiA+Pj4gLS0tLS0tCj4g PiA+Pj4gbW9kdWxlCj4gPiA+Pj4gLS0tLS0tCj4gPiA+Pj4ga2VybmVsCj4gPiA+Pj4gLS0tLS0t Cj4gPiA+Pj4gQlBGX0pJVAo+ID4gPj4+Cj4gPiA+Pj4gU28gSSBtYWRlIHRoaXMgcGF0Y2ggZmlu YWxseS4gSW4gdGhpcyBwYXRjaCwgd2UgbGV0IEJQRiBKSVQgcmVnaW9uIHNpdAo+ID4gPj4+IGJl dHdlZW4gbW9kdWxlIGFuZCBrZXJuZWwuCj4gPiA+Pj4KPiA+ID4+PiBUbyBhZGRyZXNzICJtYWtl IHN1cmUgbW9kdWxlcyBhbmQgQlBGIHByb2dyYW1zIGdldCB0aGVpciBvd24gdmlydHVhbCAKPiA+ ID4+PiByZWdpb25zIiwKPiA+ID4+PiB3aGF0IGFib3V0IHNvbWV0aGluZyBhcyBiZWxvdyAoYXBw bGllZCBhZ2FpbnN0IHRoaXMgcGF0Y2gpPwo+ID4gPj4+Cj4gPiA+Pj4gZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oIAo+ID4gPj4+IGIvYXJjaC9yaXNjdi9pbmNs dWRlL2FzbS9wZ3RhYmxlLmgKPiA+ID4+PiBpbmRleCAzODBjZDNhN2U1NDguLmRhMTE1OGYxMGIw OSAxMDA2NDQKPiA+ID4+PiAtLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ ID4gPj4+ICsrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCj4gPiA+Pj4gQEAg LTMxLDcgKzMxLDcgQEAKPiA+ID4+PiDCoCNkZWZpbmUgQlBGX0pJVF9SRUdJT05fU0laRcKgwqDC oCAoU1pfMTI4TSkKPiA+ID4+PiDCoCNpZmRlZiBDT05GSUdfNjRCSVQKPiA+ID4+PiDCoCNkZWZp bmUgQlBGX0pJVF9SRUdJT05fU1RBUlTCoMKgwqAgKEJQRl9KSVRfUkVHSU9OX0VORCAtIAo+ID4g Pj4+IEJQRl9KSVRfUkVHSU9OX1NJWkUpCj4gPiA+Pj4gLSNkZWZpbmUgQlBGX0pJVF9SRUdJT05f RU5EwqDCoMKgIChNT0RVTEVTX0VORCkKPiA+ID4+PiArI2RlZmluZSBCUEZfSklUX1JFR0lPTl9F TkTCoMKgwqAgKFBGTl9BTElHTigodW5zaWduZWQgbG9uZykmX3N0YXJ0KSkKPiA+ID4+PiDCoCNl bHNlCj4gPiA+Pj4gwqAjZGVmaW5lIEJQRl9KSVRfUkVHSU9OX1NUQVJUwqDCoMKgIChQQUdFX09G RlNFVCAtIEJQRl9KSVRfUkVHSU9OX1NJWkUpCj4gPiA+Pj4gwqAjZGVmaW5lIEJQRl9KSVRfUkVH SU9OX0VORMKgwqDCoCAoVk1BTExPQ19FTkQpCj4gPiA+Pj4gQEAgLTQwLDcgKzQwLDcgQEAKPiA+ ID4+PiDCoC8qIE1vZHVsZXMgYWx3YXlzIGxpdmUgYmVmb3JlIHRoZSBrZXJuZWwgKi8KPiA+ID4+ PiDCoCNpZmRlZiBDT05GSUdfNjRCSVQKPiA+ID4+PiDCoCNkZWZpbmUgTU9EVUxFU19WQUREUsKg wqDCoCAoUEZOX0FMSUdOKCh1bnNpZ25lZCBsb25nKSZfZW5kKSAtIFNaXzJHKQo+ID4gPj4+IC0j ZGVmaW5lIE1PRFVMRVNfRU5EwqDCoMKgIChQRk5fQUxJR04oKHVuc2lnbmVkIGxvbmcpJl9zdGFy dCkpCj4gPiA+Pj4gKyNkZWZpbmUgTU9EVUxFU19FTkTCoMKgwqAgKEJQRl9KSVRfUkVHSU9OX0VO RCkKPiA+ID4+PiDCoCNlbmRpZgo+ID4gPj4+Cj4gPiA+Pj4KPiA+ID4+PiAgICAKPiA+ID4+Pj4K PiA+ID4+Pj4gQWdhaW4sIGdvb2QgY2F0Y2gsIHRoYW5rcywKPiA+ID4+Pj4KPiA+ID4+Pj4gQWxl eAo+ID4gPj4+PiAgICAKPiA+ID4+Pj4gPiA+IFJlcG9ydGVkLWJ5OiBBbmRyZWFzIFNjaHdhYiA8 c2Nod2FiQGxpbnV4LW02OGsub3JnPiAgICAKPiA+ID4+Pj4gPiBTaWduZWQtb2ZmLWJ5OiBKaXNo ZW5nIFpoYW5nIDxqc3poYW5nQGtlcm5lbC5vcmc+Cj4gPiA+Pj4+ID4gLS0tCj4gPiA+Pj4+ID7C oMKgIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oIHwgNSArKy0tLQo+ID4gPj4+PiA+ wqDCoCAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKSAgICAK PiA+ID4+Pj4gPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUu aCAgICAgCj4gPiA+Pj4+IGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgCj4g PiA+Pj4+ID4gaW5kZXggOTQ2OWY0NjRlNzFhLi4zODBjZDNhN2U1NDggMTAwNjQ0Cj4gPiA+Pj4+ ID4gLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgKPiA+ID4+Pj4gPiArKysg Yi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ID4gPj4+PiA+IEBAIC0zMCw5ICsz MCw4IEBAICAgIAo+ID4gPj4+PiA+ID7CoMKgICNkZWZpbmUgQlBGX0pJVF9SRUdJT05fU0laRcKg wqDCoCAoU1pfMTI4TSkgICAgCj4gPiA+Pj4+ID7CoMKgICNpZmRlZiBDT05GSUdfNjRCSVQKPiA+ ID4+Pj4gPiAtLyogS0FTTFIgc2hvdWxkIGxlYXZlIGF0IGxlYXN0IDEyOE1CIGZvciBCUEYgYWZ0 ZXIgdGhlIGtlcm5lbCAqLwo+ID4gPj4+PiA+IC0jZGVmaW5lIEJQRl9KSVRfUkVHSU9OX1NUQVJU wqDCoMKgIFBGTl9BTElHTigodW5zaWduZWQgbG9uZykmX2VuZCkKPiA+ID4+Pj4gPiAtI2RlZmlu ZSBCUEZfSklUX1JFR0lPTl9FTkTCoMKgwqAgKEJQRl9KSVRfUkVHSU9OX1NUQVJUICsgICAgIAo+ ID4gPj4+PiBCUEZfSklUX1JFR0lPTl9TSVpFKSAgICAKPiA+ID4+Pj4gPiArI2RlZmluZSBCUEZf SklUX1JFR0lPTl9TVEFSVMKgwqDCoCAoQlBGX0pJVF9SRUdJT05fRU5EIC0gICAgIAo+ID4gPj4+ PiBCUEZfSklUX1JFR0lPTl9TSVpFKSAgICAKPiA+ID4+Pj4gPiArI2RlZmluZSBCUEZfSklUX1JF R0lPTl9FTkTCoMKgwqAgKE1PRFVMRVNfRU5EKQo+ID4gPj4+PiA+wqDCoCAjZWxzZQo+ID4gPj4+ PiA+wqDCoCAjZGVmaW5lIEJQRl9KSVRfUkVHSU9OX1NUQVJUwqDCoMKgIChQQUdFX09GRlNFVCAt IEJQRl9KSVRfUkVHSU9OX1NJWkUpCj4gPiA+Pj4+ID7CoMKgICNkZWZpbmUgQlBGX0pJVF9SRUdJ T05fRU5EwqDCoMKgIChWTUFMTE9DX0VORCkKPiA+ID4+Pj4gPiAgICAgCj4gPiA+Pgo+ID4gPj4g VGhpcywgd2hlbiBhcHBsaWVkIG9udG8gZml4ZXMsIGlzIGJyZWFraW5nIGVhcmx5IGJvb3Qgb24g S0FTQU4gCj4gPiA+PiBjb25maWd1cmF0aW9ucyBmb3IgbWUuICAgIAo+IAo+IEkgY2FuIHJlcHJv ZHVjZSB0aGlzIGlzc3VlLgo+IAo+ID4gPiAKPiA+ID4gTm90IHN1cnByaXNpbmcsIEkgdG9vayBh IHNob3J0Y3V0IHdoZW4gaW5pdGlhbGl6aW5nIEtBU0FOIGZvciBtb2R1bGVzLCAKPiA+ID4ga2Vy bmVsIGFuZCBCUEY6Cj4gPiA+IAo+ID4gPiAgwqDCoMKgwqDCoMKgwqAga2FzYW5fcG9wdWxhdGUo a2FzYW5fbWVtX3RvX3NoYWRvdygoY29uc3Qgdm9pZCAqKU1PRFVMRVNfVkFERFIpLAo+ID4gPiAg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga2FzYW5fbWVtX3Rv X3NoYWRvdygoY29uc3Qgdm9pZCAKPiA+ID4gKilCUEZfSklUX1JFR0lPTl9FTkQpKTsKPiA+ID4g Cj4gPiA+IFRoZSBrZXJuZWwgaXMgdGhlbiBub3QgY292ZXJlZCwgSSdtIHRha2luZyBhIGxvb2sg YXQgaG93IHRvIGZpeCB0aGF0IAo+ID4gPiBwcm9wZXJseS4KPiA+ID4gICAgCj4gPiAKPiA+IFRo ZSBmb2xsb3dpbmcgYmFzZWQgb24gInJpc2N2OiBJbnRyb2R1Y2Ugc3RydWN0dXJlIHRoYXQgZ3Jv dXAgYWxsIAo+ID4gdmFyaWFibGVzIHJlZ2FyZGluZyBrZXJuZWwgbWFwcGluZyIgZml4ZXMgdGhl IGlzc3VlOgo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9tbS9rYXNhbl9pbml0LmMg Yi9hcmNoL3Jpc2N2L21tL2thc2FuX2luaXQuYwo+ID4gaW5kZXggOWRhYWNhZTkzZTMzLi4yYTQ1 ZWE5MDllN2YgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL3Jpc2N2L21tL2thc2FuX2luaXQuYwo+ID4g KysrIGIvYXJjaC9yaXNjdi9tbS9rYXNhbl9pbml0LmMKPiA+IEBAIC0xOTksOSArMTk5LDEyIEBA IHZvaWQgX19pbml0IGthc2FuX2luaXQodm9pZCkKPiA+ICAgICAgICAgICAgICAgICAga2FzYW5f cG9wdWxhdGUoa2FzYW5fbWVtX3RvX3NoYWRvdyhzdGFydCksIAo+ID4ga2FzYW5fbWVtX3RvX3No YWRvdyhlbmQpKTsKPiA+ICAgICAgICAgIH0KPiA+IAo+ID4gLSAgICAgICAvKiBQb3B1bGF0ZSBr ZXJuZWwsIEJQRiwgbW9kdWxlcyBtYXBwaW5nICovCj4gPiArICAgICAgIC8qIFBvcHVsYXRlIEJQ RiBhbmQgbW9kdWxlcyBtYXBwaW5nOiBtb2R1bGVzIG1hcHBpbmcgZW5jb21wYXNzZXMgCj4gPiBC UEYgbWFwcGluZyAqLwo+ID4gICAgICAgICAga2FzYW5fcG9wdWxhdGUoa2FzYW5fbWVtX3RvX3No YWRvdygoY29uc3Qgdm9pZCAqKU1PRFVMRVNfVkFERFIpLAo+ID4gLSAgICAgICAgICAgICAgICAg ICAgICBrYXNhbl9tZW1fdG9fc2hhZG93KChjb25zdCB2b2lkIAo+ID4gKilCUEZfSklUX1JFR0lP Tl9FTkQpKTsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAga2FzYW5fbWVtX3RvX3NoYWRvdygo Y29uc3Qgdm9pZCAqKU1PRFVMRVNfRU5EKSk7Cj4gPiArICAgICAgIC8qIFBvcHVsYXRlIGtlcm5l bCBtYXBwaW5nICovCj4gPiArICAgICAgIGthc2FuX3BvcHVsYXRlKGthc2FuX21lbV90b19zaGFk b3coKGNvbnN0IHZvaWQgCj4gPiAqKWtlcm5lbF9tYXAudmlydF9hZGRyKSwKPiA+ICsgICAgICAg ICAgICAgICAgICAgICAga2FzYW5fbWVtX3RvX3NoYWRvdygoY29uc3Qgdm9pZCAKPiA+ICopa2Vy bmVsX21hcC52aXJ0X2FkZHIgKyBrZXJuZWxfbWFwLnNpemUpKTsKPiA+ICAKPiBJZiB0aGlzIHBh dGNoIHdvcmtzLCBtYXliZSB3ZSBjYW4gc3RpbGwgdXNlIG9uZSBrYXNhbl9wb3B1bGF0ZSgpIHRv IGNvdmVyCj4ga2VybmVsLCBicGYsIGFuZCBtb2R1bGU6Cj4gCj4gICAgICAgICBrYXNhbl9wb3B1 bGF0ZShrYXNhbl9tZW1fdG9fc2hhZG93KChjb25zdCB2b2lkICopTU9EVUxFU19WQUREUiksCj4g LSAgICAgICAgICAgICAgICAgICAgICBrYXNhbl9tZW1fdG9fc2hhZG93KChjb25zdCB2b2lkICop QlBGX0pJVF9SRUdJT05fRU5EKSk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICBrYXNhbl9tZW1f dG9fc2hhZG93KChjb25zdCB2b2lkICopTU9EVUxFU19WQUREUiArIFNaXzJHKSk7Cj4gCgpJIG1h ZGUgYSBtaXN0YWtlLiBCZWxvdyBwYXRjaCB3b3JrczoKCiAgICAgICAga2FzYW5fcG9wdWxhdGUo a2FzYW5fbWVtX3RvX3NoYWRvdygoY29uc3Qgdm9pZCAqKU1PRFVMRVNfVkFERFIpLAotICAgICAg ICAgICAgICAgICAgICAgIGthc2FuX21lbV90b19zaGFkb3coKGNvbnN0IHZvaWQgKilCUEZfSklU X1JFR0lPTl9FTkQpKTsKKyAgICAgICAgICAgICAgICAgICAgICBrYXNhbl9tZW1fdG9fc2hhZG93 KChjb25zdCB2b2lkICopKE1PRFVMRVNfVkFERFIgKyBTWl8yRykpKTsKCj4gSG93ZXZlciwgYm90 aCBjYW4ndCBzb2x2ZSB0aGUgZWFybHkgYm9vdCBoYW5nIGlzc3VlLiBJJ20gbm90IHN1cmUgd2hh dCdzIG1pc3NpbmcuCj4gCj4gSSBhcHBsaWVkIHlvdXIgcGF0Y2ggb24gcmM2ICsgc29sdXRpb24g YmVsb3cgInJlcGxhY2Uga2VybmVsX21hcC52aXJ0X2FkZHIgd2l0aCBrZXJuZWxfdmlydF9hZGRy IGFuZAo+IGtlcm5lbF9tYXAuc2l6ZSB3aXRoIGxvYWRfc3oiCj4gCj4gCj4gVGhhbmtzCj4gIAo+ ID4gCj4gPiBXaXRob3V0IHRoZSBtZW50aW9uZWQgcGF0Y2gsIHJlcGxhY2Uga2VybmVsX21hcC52 aXJ0X2FkZHIgd2l0aCAKPiA+IGtlcm5lbF92aXJ0X2FkZHIgYW5kIGtlcm5lbF9tYXAuc2l6ZSB3 aXRoIGxvYWRfc3ouIE5vdGUgdGhhdCBsb2FkX3N6IHdhcyAKPiA+IHJlLWV4cG9zZWQgaW4gdjYg b2YgdGhlIHBhdGNoc2V0ICJNYXAgdGhlIGtlcm5lbCB3aXRoIGNvcnJlY3QgCj4gPiBwZXJtaXNz aW9ucyB0aGUgZmlyc3QgdGltZSIuCj4gPiAgIAo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gbGludXgtcmlzY3YgbWFpbGluZyBsaXN0Cj4g bGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YKCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4 LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=