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 0074DCCA479 for ; Sat, 18 Jun 2022 02:46:11 +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: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=IPgy7xfOtEDOctDMJ1JmBezz7AdIK3pWQnKv8TXAvso=; b=040uzCgRGjY8KY /4Tk8JCAv7TuDyMQYyXGCiOkzGYUpGSP+7YYsKlcp6U55GxmsRv/JsY4SBhjm2aQWm3UYoFdt1Iic e/i4pUNik/p8q81/goha3sLzCbeeJaHrNQPloOcBdbw7+RC87q9gaA/MFsXWW4cggWrrRVWBHm9n+ /UoC1654NSyWhy3ppjCB+og4F7QjT7Z6TljBPNuiXUAuxeEB7FybBPn69dtRrNNsQiau/Tc1k99ft lj7qaMf2pO3REoFif5TjR5SX1mw+vB4Pwh2qwHNaNtdAn3Os3a/y5fsnDGIDVafoeqOcHXfqKGALT usd7l7VPwJr1Ccci6apQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o2OSV-00A6yB-6b; Sat, 18 Jun 2022 02:45:11 +0000 Received: from szxga01-in.huawei.com ([45.249.212.187]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o2OSR-00A6td-9U for linux-arm-kernel@lists.infradead.org; Sat, 18 Jun 2022 02:45:09 +0000 Received: from dggemv703-chm.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LQ0bP2lY4zjXXr; Sat, 18 Jun 2022 10:43:45 +0800 (CST) Received: from kwepemm600017.china.huawei.com (7.193.23.234) by dggemv703-chm.china.huawei.com (10.3.19.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Sat, 18 Jun 2022 10:44:53 +0800 Received: from [10.174.179.234] (10.174.179.234) by kwepemm600017.china.huawei.com (7.193.23.234) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Sat, 18 Jun 2022 10:44:51 +0800 Message-ID: Date: Sat, 18 Jun 2022 10:44:50 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0 Subject: Re: [PATCH -next v5 1/8] arm64: extable: add new extable type EX_TYPE_KACCESS_ERR_ZERO support To: Mark Rutland CC: James Morse , Andrew Morton , Thomas Gleixner , "Ingo Molnar" , Borislav Petkov , Robin Murphy , Dave Hansen , "Catalin Marinas" , Will Deacon , "Alexander Viro" , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , , "H . Peter Anvin" , , , , , Kefeng Wang , Xie XiuQi , Guohanjun References: <20220528065056.1034168-1-tongtiangen@huawei.com> <20220528065056.1034168-2-tongtiangen@huawei.com> From: Tong Tiangen In-Reply-To: X-Originating-IP: [10.174.179.234] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To kwepemm600017.china.huawei.com (7.193.23.234) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220617_194507_718605_749EE12C X-CRM114-Status: GOOD ( 15.72 ) 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="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgrlnKggMjAyMi82LzE3IDE2OjIzLCBNYXJrIFJ1dGxhbmQg5YaZ6YGTOgo+IE9uIFNhdCwgTWF5 IDI4LCAyMDIyIGF0IDA2OjUwOjQ5QU0gKzAwMDAsIFRvbmcgVGlhbmdlbiB3cm90ZToKPj4gQ3Vy cmVudGx5LCBUaGUgZXh0YWJsZSB0eXBlIEVYX1RZUEVfVUFDQ0VTU19FUlJfWkVSTyBpcyB1c2Vk IGJ5Cj4+IF9fZ2V0L3B1dF9rZXJuZWxfbm9mYXVsdCgpLCBidXQgdGhvc2UgaGVscGVycyBhcmUg bm90IHVhY2Nlc3MgdHlwZSwgc28gd2UKPj4gYWRkIGEgbmV3IGV4dGFibGUgdHlwZSBFWF9UWVBF X0tBQ0NFU1NfRVJSX1pFUk8gd2hpY2ggY2FuIGJlIHVzZWQgYnkKPj4gX19nZXQvcHV0X2tlcm5l bF9ub19mYXVsdCgpLgo+Pgo+PiBUaGlzIGlzIGFsc28gdG8gcHJlcGFyZSBmb3IgZGlzdGluZ3Vp c2hpbmcgdGhlIHR3byB0eXBlcyBpbiBtYWNoaW5lIGNoZWNrCj4+IHNhZmUgcHJvY2Vzcy4KPj4K Pj4gU3VnZ2VzdGVkLWJ5OiBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29tPgo+PiBT aWduZWQtb2ZmLWJ5OiBUb25nIFRpYW5nZW4gPHRvbmd0aWFuZ2VuQGh1YXdlaS5jb20+Cj4gCj4g VGhpcyBsb29rcyBnb29kIHRvIG1lLCBzbyBtb2R1bG8gb25lIG5pdCBiZWxvdzoKPiAKPiBBY2tl ZC1ieTogTWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4KPiAKPj4gLS0tCj4+ICAg YXJjaC9hcm02NC9pbmNsdWRlL2FzbS9hc20tZXh0YWJsZS5oIHwgMTMgKysrKwo+PiAgIGFyY2gv YXJtNjQvaW5jbHVkZS9hc20vdWFjY2Vzcy5oICAgICB8IDk0ICsrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0KPj4gICBhcmNoL2FybTY0L21tL2V4dGFibGUuYyAgICAgICAgICAgICAgfCAgMSAr Cj4+ICAgMyBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkK Pj4KPj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWV4dGFibGUuaCBi L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWV4dGFibGUuaAo+PiBpbmRleCBjMzlmMjQzN2Uw OGUuLjU2ZWJlMTgzZTc4YiAxMDA2NDQKPj4gLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9h c20tZXh0YWJsZS5oCj4+ICsrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vYXNtLWV4dGFibGUu aAo+PiBAQCAtNyw2ICs3LDcgQEAKPj4gICAjZGVmaW5lIEVYX1RZUEVfQlBGCQkJMgo+PiAgICNk ZWZpbmUgRVhfVFlQRV9VQUNDRVNTX0VSUl9aRVJPCTMKPj4gICAjZGVmaW5lIEVYX1RZUEVfTE9B RF9VTkFMSUdORURfWkVST1BBRAk0Cj4+ICsjZGVmaW5lIEVYX1RZUEVfS0FDQ0VTU19FUlJfWkVS Twk1Cj4gCj4gQ291bGQgd2UgcGxlYXNlIHJlbnVtYmVyIHRoaXMgc28gdGhlIFVBQ0NFU1MgYW5k IEtBQ0NFU1MgZGVmaW5pdGlvbnMgYXJlIG5leHQKPiB0byBvbmUgYW5vdGhlciwgaS5lLgo+IAo+ ICNkZWZpbmUgRVhfVFlQRV9CUEYJCQkyCj4gI2RlZmluZSBFWF9UWVBFX1VBQ0NFU1NfRVJSX1pF Uk8JMwo+ICNkZWZpbmUgRVhfVFlQRV9LQUNDRVNTX0VSUl9aRVJPCTQKPiAjZGVmaW5lIEVYX1RZ UEVfTE9BRF9VTkFMSUdORURfWkVST1BBRAk1Cj4gCj4gVGhhbmtzLAo+IE1hcmsuCgpvaywgSXQn cyBjbGVhbmVyLgoKVGhhbmtzLApUb25nLgoKPiAKPj4gICAKPj4gICAjaWZkZWYgX19BU1NFTUJM WV9fCj4+ICAgCj4+IEBAIC03Myw5ICs3NCwyMSBAQAo+PiAgIAkJCSAgICBFWF9EQVRBX1JFRyha RVJPLCB6ZXJvKQkJCVwKPj4gICAJCQkgICIpIikKPj4gICAKPj4gKyNkZWZpbmUgX0FTTV9FWFRB QkxFX0tBQ0NFU1NfRVJSX1pFUk8oaW5zbiwgZml4dXAsIGVyciwgemVybykJCVwKPj4gKwlfX0RF RklORV9BU01fR1BSX05VTVMJCQkJCQlcCj4+ICsJX19BU01fRVhUQUJMRV9SQVcoI2luc24sICNm aXh1cCwgCQkJCVwKPj4gKwkJCSAgX19zdHJpbmdpZnkoRVhfVFlQRV9LQUNDRVNTX0VSUl9aRVJP KSwJXAo+PiArCQkJICAiKCIJCQkJCQlcCj4+ICsJCQkgICAgRVhfREFUQV9SRUcoRVJSLCBlcnIp ICIgfCAiCQkJXAo+PiArCQkJICAgIEVYX0RBVEFfUkVHKFpFUk8sIHplcm8pCQkJXAo+PiArCQkJ ICAiKSIpCj4+ICsKPj4gICAjZGVmaW5lIF9BU01fRVhUQUJMRV9VQUNDRVNTX0VSUihpbnNuLCBm aXh1cCwgZXJyKQkJCVwKPj4gICAJX0FTTV9FWFRBQkxFX1VBQ0NFU1NfRVJSX1pFUk8oaW5zbiwg Zml4dXAsIGVyciwgd3pyKQo+PiAgIAo+PiArI2RlZmluZSBfQVNNX0VYVEFCTEVfS0FDQ0VTU19F UlIoaW5zbiwgZml4dXAsIGVycikJCQlcCj4+ICsJX0FTTV9FWFRBQkxFX0tBQ0NFU1NfRVJSX1pF Uk8oaW5zbiwgZml4dXAsIGVyciwgd3pyKQo+PiArCj4+ICAgI2RlZmluZSBFWF9EQVRBX1JFR19E QVRBX1NISUZUCTAKPj4gICAjZGVmaW5lIEVYX0RBVEFfUkVHX0RBVEEJR0VOTUFTSyg0LCAwKQo+ PiAgICNkZWZpbmUgRVhfREFUQV9SRUdfQUREUl9TSElGVAk1Cj4+IGRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL3VhY2Nlc3MuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vdWFj Y2Vzcy5oCj4+IGluZGV4IDYzZjljODI4ZjFhNy4uMmZjOWYwODYxNzY5IDEwMDY0NAo+PiAtLS0g YS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3VhY2Nlc3MuaAo+PiArKysgYi9hcmNoL2FybTY0L2lu Y2x1ZGUvYXNtL3VhY2Nlc3MuaAo+PiBAQCAtMjMyLDM0ICsyMzIsMzQgQEAgc3RhdGljIGlubGlu ZSB2b2lkIF9fdXNlciAqX191YWNjZXNzX21hc2tfcHRyKGNvbnN0IHZvaWQgX191c2VyICpwdHIp Cj4+ICAgICogVGhlICJfX3h4eF9lcnJvciIgdmVyc2lvbnMgc2V0IHRoZSB0aGlyZCBhcmd1bWVu dCB0byAtRUZBVUxUIGlmIGFuIGVycm9yCj4+ICAgICogb2NjdXJzLCBhbmQgbGVhdmUgaXQgdW5j aGFuZ2VkIG9uIHN1Y2Nlc3MuCj4+ICAgICovCj4+IC0jZGVmaW5lIF9fZ2V0X21lbV9hc20obG9h ZCwgcmVnLCB4LCBhZGRyLCBlcnIpCQkJCVwKPj4gKyNkZWZpbmUgX19nZXRfbWVtX2FzbShsb2Fk LCByZWcsIHgsIGFkZHIsIGVyciwgdHlwZSkJCQlcCj4+ICAgCWFzbSB2b2xhdGlsZSgJCQkJCQkJ XAo+PiAgIAkiMToJIiBsb2FkICIJIiByZWcgIjEsIFslMl1cbiIJCQlcCj4+ICAgCSIyOlxuIgkJ CQkJCQkJXAo+PiAtCV9BU01fRVhUQUJMRV9VQUNDRVNTX0VSUl9aRVJPKDFiLCAyYiwgJXcwLCAl dzEpCQkJXAo+PiArCV9BU01fRVhUQUJMRV8jI3R5cGUjI0FDQ0VTU19FUlJfWkVSTygxYiwgMmIs ICV3MCwgJXcxKQkJXAo+PiAgIAk6ICIrciIgKGVyciksICI9JnIiICh4KQkJCQkJCVwKPj4gICAJ OiAiciIgKGFkZHIpKQo+PiAgIAo+PiAtI2RlZmluZSBfX3Jhd19nZXRfbWVtKGxkciwgeCwgcHRy LCBlcnIpCQkJCQlcCj4+IC1kbyB7CQkJCQkJCQkJXAo+PiAtCXVuc2lnbmVkIGxvbmcgX19ndV92 YWw7CQkJCQkJXAo+PiAtCXN3aXRjaCAoc2l6ZW9mKCoocHRyKSkpIHsJCQkJCVwKPj4gLQljYXNl IDE6CQkJCQkJCQlcCj4+IC0JCV9fZ2V0X21lbV9hc20obGRyICJiIiwgIiV3IiwgX19ndV92YWws IChwdHIpLCAoZXJyKSk7CVwKPj4gLQkJYnJlYWs7CQkJCQkJCVwKPj4gLQljYXNlIDI6CQkJCQkJ CQlcCj4+IC0JCV9fZ2V0X21lbV9hc20obGRyICJoIiwgIiV3IiwgX19ndV92YWwsIChwdHIpLCAo ZXJyKSk7CVwKPj4gLQkJYnJlYWs7CQkJCQkJCVwKPj4gLQljYXNlIDQ6CQkJCQkJCQlcCj4+IC0J CV9fZ2V0X21lbV9hc20obGRyLCAiJXciLCBfX2d1X3ZhbCwgKHB0ciksIChlcnIpKTsJXAo+PiAt CQlicmVhazsJCQkJCQkJXAo+PiAtCWNhc2UgODoJCQkJCQkJCVwKPj4gLQkJX19nZXRfbWVtX2Fz bShsZHIsICIleCIsICBfX2d1X3ZhbCwgKHB0ciksIChlcnIpKTsJXAo+PiAtCQlicmVhazsJCQkJ CQkJXAo+PiAtCWRlZmF1bHQ6CQkJCQkJCVwKPj4gLQkJQlVJTERfQlVHKCk7CQkJCQkJXAo+PiAt CX0JCQkJCQkJCVwKPj4gLQkoeCkgPSAoX19mb3JjZSBfX3R5cGVvZl9fKCoocHRyKSkpX19ndV92 YWw7CQkJXAo+PiArI2RlZmluZSBfX3Jhd19nZXRfbWVtKGxkciwgeCwgcHRyLCBlcnIsIHR5cGUp CQkJCQlcCj4+ICtkbyB7CQkJCQkJCQkJCVwKPj4gKwl1bnNpZ25lZCBsb25nIF9fZ3VfdmFsOwkJ CQkJCQlcCj4+ICsJc3dpdGNoIChzaXplb2YoKihwdHIpKSkgewkJCQkJCVwKPj4gKwljYXNlIDE6 CQkJCQkJCQkJXAo+PiArCQlfX2dldF9tZW1fYXNtKGxkciAiYiIsICIldyIsIF9fZ3VfdmFsLCAo cHRyKSwgKGVyciksIHR5cGUpOwlcCj4+ICsJCWJyZWFrOwkJCQkJCQkJXAo+PiArCWNhc2UgMjoJ CQkJCQkJCQlcCj4+ICsJCV9fZ2V0X21lbV9hc20obGRyICJoIiwgIiV3IiwgX19ndV92YWwsIChw dHIpLCAoZXJyKSwgdHlwZSk7CVwKPj4gKwkJYnJlYWs7CQkJCQkJCQlcCj4+ICsJY2FzZSA0OgkJ CQkJCQkJCVwKPj4gKwkJX19nZXRfbWVtX2FzbShsZHIsICIldyIsIF9fZ3VfdmFsLCAocHRyKSwg KGVyciksIHR5cGUpOwkJXAo+PiArCQlicmVhazsJCQkJCQkJCVwKPj4gKwljYXNlIDg6CQkJCQkJ CQkJXAo+PiArCQlfX2dldF9tZW1fYXNtKGxkciwgIiV4IiwgIF9fZ3VfdmFsLCAocHRyKSwgKGVy ciksIHR5cGUpOwlcCj4+ICsJCWJyZWFrOwkJCQkJCQkJXAo+PiArCWRlZmF1bHQ6CQkJCQkJCQlc Cj4+ICsJCUJVSUxEX0JVRygpOwkJCQkJCQlcCj4+ICsJfQkJCQkJCQkJCVwKPj4gKwkoeCkgPSAo X19mb3JjZSBfX3R5cGVvZl9fKCoocHRyKSkpX19ndV92YWw7CQkJCVwKPj4gICB9IHdoaWxlICgw KQo+PiAgIAo+PiAgIC8qCj4+IEBAIC0yNzQsNyArMjc0LDcgQEAgZG8gewkJCQkJCQkJCVwKPj4g ICAJX19jaGtfdXNlcl9wdHIocHRyKTsJCQkJCQlcCj4+ICAgCQkJCQkJCQkJXAo+PiAgIAl1YWNj ZXNzX3R0YnIwX2VuYWJsZSgpOwkJCQkJCVwKPj4gLQlfX3Jhd19nZXRfbWVtKCJsZHRyIiwgX19y Z3VfdmFsLCBfX3JndV9wdHIsIGVycik7CQlcCj4+ICsJX19yYXdfZ2V0X21lbSgibGR0ciIsIF9f cmd1X3ZhbCwgX19yZ3VfcHRyLCBlcnIsIFUpOwkJXAo+PiAgIAl1YWNjZXNzX3R0YnIwX2Rpc2Fi bGUoKTsJCQkJCVwKPj4gICAJCQkJCQkJCQlcCj4+ICAgCSh4KSA9IF9fcmd1X3ZhbDsJCQkJCQlc Cj4+IEBAIC0zMTQsNDAgKzMxNCw0MCBAQCBkbyB7CQkJCQkJCQkJXAo+PiAgIAkJCQkJCQkJCVwK Pj4gICAJX191YWNjZXNzX2VuYWJsZV90Y29fYXN5bmMoKTsJCQkJCVwKPj4gICAJX19yYXdfZ2V0 X21lbSgibGRyIiwgKigodHlwZSAqKShfX2drbl9kc3QpKSwJCQlcCj4+IC0JCSAgICAgIChfX2Zv cmNlIHR5cGUgKikoX19na25fc3JjKSwgX19na25fZXJyKTsJCVwKPj4gKwkJICAgICAgKF9fZm9y Y2UgdHlwZSAqKShfX2drbl9zcmMpLCBfX2drbl9lcnIsIEspOwlcCj4+ICAgCV9fdWFjY2Vzc19k aXNhYmxlX3Rjb19hc3luYygpOwkJCQkJXAo+PiAgIAkJCQkJCQkJCVwKPj4gICAJaWYgKHVubGlr ZWx5KF9fZ2tuX2VycikpCQkJCQlcCj4+ICAgCQlnb3RvIGVycl9sYWJlbDsJCQkJCQlcCj4+ICAg fSB3aGlsZSAoMCkKPj4gICAKPj4gLSNkZWZpbmUgX19wdXRfbWVtX2FzbShzdG9yZSwgcmVnLCB4 LCBhZGRyLCBlcnIpCQkJCVwKPj4gKyNkZWZpbmUgX19wdXRfbWVtX2FzbShzdG9yZSwgcmVnLCB4 LCBhZGRyLCBlcnIsIHR5cGUpCQkJXAo+PiAgIAlhc20gdm9sYXRpbGUoCQkJCQkJCVwKPj4gICAJ IjE6CSIgc3RvcmUgIgkiIHJlZyAiMSwgWyUyXVxuIgkJCVwKPj4gICAJIjI6XG4iCQkJCQkJCQlc Cj4+IC0JX0FTTV9FWFRBQkxFX1VBQ0NFU1NfRVJSKDFiLCAyYiwgJXcwKQkJCQlcCj4+ICsJX0FT TV9FWFRBQkxFXyMjdHlwZSMjQUNDRVNTX0VSUigxYiwgMmIsICV3MCkJCQlcCj4+ICAgCTogIity IiAoZXJyKQkJCQkJCQlcCj4+ICAgCTogInIiICh4KSwgInIiIChhZGRyKSkKPj4gICAKPj4gLSNk ZWZpbmUgX19yYXdfcHV0X21lbShzdHIsIHgsIHB0ciwgZXJyKQkJCQkJXAo+PiAtZG8gewkJCQkJ CQkJCVwKPj4gLQlfX3R5cGVvZl9fKCoocHRyKSkgX19wdV92YWwgPSAoeCk7CQkJCVwKPj4gLQlz d2l0Y2ggKHNpemVvZigqKHB0cikpKSB7CQkJCQlcCj4+IC0JY2FzZSAxOgkJCQkJCQkJXAo+PiAt CQlfX3B1dF9tZW1fYXNtKHN0ciAiYiIsICIldyIsIF9fcHVfdmFsLCAocHRyKSwgKGVycikpOwlc Cj4+IC0JCWJyZWFrOwkJCQkJCQlcCj4+IC0JY2FzZSAyOgkJCQkJCQkJXAo+PiAtCQlfX3B1dF9t ZW1fYXNtKHN0ciAiaCIsICIldyIsIF9fcHVfdmFsLCAocHRyKSwgKGVycikpOwlcCj4+IC0JCWJy ZWFrOwkJCQkJCQlcCj4+IC0JY2FzZSA0OgkJCQkJCQkJXAo+PiAtCQlfX3B1dF9tZW1fYXNtKHN0 ciwgIiV3IiwgX19wdV92YWwsIChwdHIpLCAoZXJyKSk7CVwKPj4gLQkJYnJlYWs7CQkJCQkJCVwK Pj4gLQljYXNlIDg6CQkJCQkJCQlcCj4+IC0JCV9fcHV0X21lbV9hc20oc3RyLCAiJXgiLCBfX3B1 X3ZhbCwgKHB0ciksIChlcnIpKTsJXAo+PiAtCQlicmVhazsJCQkJCQkJXAo+PiAtCWRlZmF1bHQ6 CQkJCQkJCVwKPj4gLQkJQlVJTERfQlVHKCk7CQkJCQkJXAo+PiAtCX0JCQkJCQkJCVwKPj4gKyNk ZWZpbmUgX19yYXdfcHV0X21lbShzdHIsIHgsIHB0ciwgZXJyLCB0eXBlKQkJCQkJXAo+PiArZG8g ewkJCQkJCQkJCQlcCj4+ICsJX190eXBlb2ZfXygqKHB0cikpIF9fcHVfdmFsID0gKHgpOwkJCQkJ XAo+PiArCXN3aXRjaCAoc2l6ZW9mKCoocHRyKSkpIHsJCQkJCQlcCj4+ICsJY2FzZSAxOgkJCQkJ CQkJCVwKPj4gKwkJX19wdXRfbWVtX2FzbShzdHIgImIiLCAiJXciLCBfX3B1X3ZhbCwgKHB0ciks IChlcnIpLCB0eXBlKTsJXAo+PiArCQlicmVhazsJCQkJCQkJCVwKPj4gKwljYXNlIDI6CQkJCQkJ CQkJXAo+PiArCQlfX3B1dF9tZW1fYXNtKHN0ciAiaCIsICIldyIsIF9fcHVfdmFsLCAocHRyKSwg KGVyciksIHR5cGUpOwlcCj4+ICsJCWJyZWFrOwkJCQkJCQkJXAo+PiArCWNhc2UgNDoJCQkJCQkJ CQlcCj4+ICsJCV9fcHV0X21lbV9hc20oc3RyLCAiJXciLCBfX3B1X3ZhbCwgKHB0ciksIChlcnIp LCB0eXBlKTsJCVwKPj4gKwkJYnJlYWs7CQkJCQkJCQlcCj4+ICsJY2FzZSA4OgkJCQkJCQkJCVwK Pj4gKwkJX19wdXRfbWVtX2FzbShzdHIsICIleCIsIF9fcHVfdmFsLCAocHRyKSwgKGVyciksIHR5 cGUpOwkJXAo+PiArCQlicmVhazsJCQkJCQkJCVwKPj4gKwlkZWZhdWx0OgkJCQkJCQkJXAo+PiAr CQlCVUlMRF9CVUcoKTsJCQkJCQkJXAo+PiArCX0JCQkJCQkJCQlcCj4+ICAgfSB3aGlsZSAoMCkK Pj4gICAKPj4gICAvKgo+PiBAQCAtMzYyLDcgKzM2Miw3IEBAIGRvIHsJCQkJCQkJCQlcCj4+ICAg CV9fY2hrX3VzZXJfcHRyKF9fcnB1X3B0cik7CQkJCQlcCj4+ICAgCQkJCQkJCQkJXAo+PiAgIAl1 YWNjZXNzX3R0YnIwX2VuYWJsZSgpOwkJCQkJCVwKPj4gLQlfX3Jhd19wdXRfbWVtKCJzdHRyIiwg X19ycHVfdmFsLCBfX3JwdV9wdHIsIGVycik7CQlcCj4+ICsJX19yYXdfcHV0X21lbSgic3R0ciIs IF9fcnB1X3ZhbCwgX19ycHVfcHRyLCBlcnIsIFUpOwkJXAo+PiAgIAl1YWNjZXNzX3R0YnIwX2Rp c2FibGUoKTsJCQkJCVwKPj4gICB9IHdoaWxlICgwKQo+PiAgIAo+PiBAQCAtNDAwLDcgKzQwMCw3 IEBAIGRvIHsJCQkJCQkJCQlcCj4+ICAgCQkJCQkJCQkJXAo+PiAgIAlfX3VhY2Nlc3NfZW5hYmxl X3Rjb19hc3luYygpOwkJCQkJXAo+PiAgIAlfX3Jhd19wdXRfbWVtKCJzdHIiLCAqKCh0eXBlICop KF9fcGtuX3NyYykpLAkJCVwKPj4gLQkJICAgICAgKF9fZm9yY2UgdHlwZSAqKShfX3Brbl9kc3Qp LCBfX3Brbl9lcnIpOwkJXAo+PiArCQkgICAgICAoX19mb3JjZSB0eXBlICopKF9fcGtuX2RzdCks IF9fcGtuX2VyciwgSyk7CVwKPj4gICAJX191YWNjZXNzX2Rpc2FibGVfdGNvX2FzeW5jKCk7CQkJ CQlcCj4+ICAgCQkJCQkJCQkJXAo+PiAgIAlpZiAodW5saWtlbHkoX19wa25fZXJyKSkJCQkJCVwK Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvbW0vZXh0YWJsZS5jIGIvYXJjaC9hcm02NC9tbS9l eHRhYmxlLmMKPj4gaW5kZXggNDg5NDU1MzA5Njk1Li4wNTY1OTFlNWNhODAgMTAwNjQ0Cj4+IC0t LSBhL2FyY2gvYXJtNjQvbW0vZXh0YWJsZS5jCj4+ICsrKyBiL2FyY2gvYXJtNjQvbW0vZXh0YWJs ZS5jCj4+IEBAIC03Nyw2ICs3Nyw3IEBAIGJvb2wgZml4dXBfZXhjZXB0aW9uKHN0cnVjdCBwdF9y ZWdzICpyZWdzKQo+PiAgIAljYXNlIEVYX1RZUEVfQlBGOgo+PiAgIAkJcmV0dXJuIGV4X2hhbmRs ZXJfYnBmKGV4LCByZWdzKTsKPj4gICAJY2FzZSBFWF9UWVBFX1VBQ0NFU1NfRVJSX1pFUk86Cj4+ ICsJY2FzZSBFWF9UWVBFX0tBQ0NFU1NfRVJSX1pFUk86Cj4+ICAgCQlyZXR1cm4gZXhfaGFuZGxl cl91YWNjZXNzX2Vycl96ZXJvKGV4LCByZWdzKTsKPj4gICAJY2FzZSBFWF9UWVBFX0xPQURfVU5B TElHTkVEX1pFUk9QQUQ6Cj4+ICAgCQlyZXR1cm4gZXhfaGFuZGxlcl9sb2FkX3VuYWxpZ25lZF96 ZXJvcGFkKGV4LCByZWdzKTsKPj4gLS0gCj4+IDIuMjUuMQo+Pgo+IAo+IC4KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK