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 B1178C433EF for ; Tue, 24 May 2022 06:41:55 +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=dHqgl3tCqAUxwZ5fLmKDVBOift+0Lx9GUlE+//VOuSU=; b=sTyK1c3bZtlTat r8O7c/TJLhAI2RBbq8sXmT6TY+Kro6AWCTBklpEwfzJoA6J3AiZvKjehCPc2+bK5SsbYBFNBu4+Kn IPiBrlQeT964a4FPo9VK5L8nOCoWR+bL+EvYZZa5lfaTmvupPbOlY2EDZen3wpFt53dKxfYYKc/KW eJO8FDJXjXh4TrB4puP0Bz85bbDLiL27LrjtmTKv5+o+aP1L66pRHVAkSRex1XEb4JomifVGcl0DS Q8ErBtxY6f+LhBTpotNuEt+lVLnSFolfTW3iVsotR8T8bhKX5xXcuWltcO2DyTo4fuZrSnMl4YnaK yZh2Jat9W+BR0lnD+LiA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ntODP-006xjl-06; Tue, 24 May 2022 06:40:23 +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 1ntODK-006xh6-JM; Tue, 24 May 2022 06:40:21 +0000 Received: from kwepemi500010.china.huawei.com (unknown [172.30.72.54]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4L6kzw12hFz1JBnB; Tue, 24 May 2022 14:38:36 +0800 (CST) Received: from kwepemm600017.china.huawei.com (7.193.23.234) by kwepemi500010.china.huawei.com (7.221.188.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Tue, 24 May 2022 14:40:05 +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; Tue, 24 May 2022 14:40:03 +0800 Message-ID: Date: Tue, 24 May 2022 14:40:02 +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 v7 6/6] riscv/mm: Enable ARCH_SUPPORTS_PAGE_TABLE_CHECK To: Palmer Dabbelt , Palmer Dabbelt CC: , , , , , , , , , , Will Deacon , Paul Walmsley , , , , , , , References: 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-20220523_234019_006619_93333157 X-CRM114-Status: GOOD ( 19.73 ) 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 CgrlnKggMjAyMi81LzI0IDEyOjE3LCBQYWxtZXIgRGFiYmVsdCDlhpnpgZM6Cj4gT24gU2F0LCAw NyBNYXkgMjAyMiAwNDowMToxNCBQRFQgKC0wNzAwKSwgdG9uZ3RpYW5nZW5AaHVhd2VpLmNvbSB3 cm90ZToKPj4gQXMgY29tbWl0IGQyODNkNDIyYzZjNCAoIng4NjogbW06IGFkZCB4ODZfNjQgc3Vw cG9ydCBmb3IgcGFnZSB0YWJsZSAKPj4gY2hlY2siKQo+PiAsIGVuYWJsZSBBUkNIX1NVUFBPUlRT X1BBR0VfVEFCTEVfQ0hFQ0sgb24gcmlzY3YuCj4+Cj4+IEFkZCBhZGRpdGlvbmFsIHBhZ2UgdGFi bGUgY2hlY2sgc3R1YnMgZm9yIHBhZ2UgdGFibGUgaGVscGVycywgdGhlc2Ugc3R1YnMKPj4gY2Fu IGJlIHVzZWQgdG8gY2hlY2sgdGhlIGV4aXN0aW5nIHBhZ2UgdGFibGUgZW50cmllcy4KPj4KPj4g U2lnbmVkLW9mZi1ieTogVG9uZyBUaWFuZ2VuIDx0b25ndGlhbmdlbkBodWF3ZWkuY29tPgo+PiBS ZXZpZXdlZC1ieTogUGFzaGEgVGF0YXNoaW4gPHBhc2hhLnRhdGFzaGluQHNvbGVlbi5jb20+Cj4g Cj4gVGhpcyBkb2Vzbid0IGJ1aWxkIG9uIHJ2MzIgKG9yIHByZXN1bWFibHkgYW55IG90aGVyIDMy LWJpdCBhcmNoKSAKPiBzb21ldGhpbmcgbGlrZSB0aGlzIHNob3VsZCBkbyBpdAo+IAo+ICDCoMKg IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCAKPiBiL2FyY2gv cmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5oCj4gIMKgwqAgaW5kZXggMmIxOGU0NDEwYzRkLi5l YTY1OGVkNmExYjEgMTAwNjQ0Cj4gIMKgwqAgLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9w Z3RhYmxlLmgKPiAgwqDCoCArKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+ ICDCoMKgIEBAIC02OTAsMTEgKzY5MCwxMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgCj4gcG1kX3Vz ZXJfYWNjZXNzaWJsZV9wYWdlKHBtZF90IHBtZCkKPiAgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHBt ZF9sZWFmKHBtZCkgJiYgcG1kX3VzZXIocG1kKTsKPiAgwqDCoMKgIH0KPiAgwqDCoCArI2lmZGVm IENPTkZJR182NEJJVAo+ICDCoMKgwqAgc3RhdGljIGlubGluZSBib29sIHB1ZF91c2VyX2FjY2Vz c2libGVfcGFnZShwdWRfdCBwdWQpCj4gIMKgwqDCoCB7Cj4gIMKgwqDCoMKgwqDCoMKgIHJldHVy biBwdWRfbGVhZihwdWQpICYmIHB1ZF91c2VyKHB1ZCk7Cj4gIMKgwqDCoCB9Cj4gIMKgwqAgLSNl bmRpZgo+ICDCoMKgICsjZW5kaWYgLyogQ09ORklHXzY0QklUICovCj4gIMKgwqAgKyNlbmRpZiAv KiBDT05GSUdfUEFHRV9UQUJMRV9DSEVDSyAqLwo+ICDCoMKgwqAgI2lmZGVmIENPTkZJR19UUkFO U1BBUkVOVF9IVUdFUEFHRQo+ICDCoMKgwqAgc3RhdGljIGlubGluZSBpbnQgcG1kX3RyYW5zX2h1 Z2UocG1kX3QgcG1kKQo+ICDCoMKgIGRpZmYgLS1naXQgYS9tbS9wYWdlX3RhYmxlX2NoZWNrLmMg Yi9tbS9wYWdlX3RhYmxlX2NoZWNrLmMKPiAgwqDCoCBpbmRleCAzNjkyYmVhMmVhMmMuLmFjOWJk ZGZhMTM5OCAxMDA2NDQKPiAgwqDCoCAtLS0gYS9tbS9wYWdlX3RhYmxlX2NoZWNrLmMKPiAgwqDC oCArKysgYi9tbS9wYWdlX3RhYmxlX2NoZWNrLmMKPiAgwqDCoCBAQCAtMTY1LDYgKzE2NSw3IEBA IHZvaWQgX19wYWdlX3RhYmxlX2NoZWNrX3BtZF9jbGVhcihzdHJ1Y3QgCj4gbW1fc3RydWN0ICpt bSwgdW5zaWduZWQgbG9uZyBhZGRyLAo+ICDCoMKgwqAgfQo+ICDCoMKgwqAgRVhQT1JUX1NZTUJP TChfX3BhZ2VfdGFibGVfY2hlY2tfcG1kX2NsZWFyKTsKPiAgwqDCoCArI2lmIENPTkZJR19QR1RB QkxFX0xFVkVMUyA+IDMKPiAgwqDCoMKgIHZvaWQgX19wYWdlX3RhYmxlX2NoZWNrX3B1ZF9jbGVh cihzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQgCj4gbG9uZyBhZGRyLAo+ICDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHVkX3QgcHVkKQo+ICDCoMKgwqAg ewo+ICDCoMKgIEBAIC0xNzcsNiArMTc4LDcgQEAgdm9pZCBfX3BhZ2VfdGFibGVfY2hlY2tfcHVk X2NsZWFyKHN0cnVjdCAKPiBtbV9zdHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCj4gIMKg wqDCoMKgwqDCoMKgIH0KPiAgwqDCoMKgIH0KPiAgwqDCoMKgIEVYUE9SVF9TWU1CT0woX19wYWdl X3RhYmxlX2NoZWNrX3B1ZF9jbGVhcik7Cj4gIMKgwqAgKyNlbmRpZgo+ICDCoMKgwqAgdm9pZCBf X3BhZ2VfdGFibGVfY2hlY2tfcHRlX3NldChzdHJ1Y3QgbW1fc3RydWN0ICptbSwgdW5zaWduZWQg bG9uZyAKPiBhZGRyLAo+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBw dGVfdCAqcHRlcCwgcHRlX3QgcHRlKQo+ICDCoMKgIEBAIC0yMDgsNiArMjEwLDcgQEAgdm9pZCBf X3BhZ2VfdGFibGVfY2hlY2tfcG1kX3NldChzdHJ1Y3QgbW1fc3RydWN0IAo+ICptbSwgdW5zaWdu ZWQgbG9uZyBhZGRyLAo+ICDCoMKgwqAgfQo+ICDCoMKgwqAgRVhQT1JUX1NZTUJPTChfX3BhZ2Vf dGFibGVfY2hlY2tfcG1kX3NldCk7Cj4gIMKgwqAgKyNpZiBDT05GSUdfUEdUQUJMRV9MRVZFTFMg PiAzCj4gIMKgwqDCoCB2b2lkIF9fcGFnZV90YWJsZV9jaGVja19wdWRfc2V0KHN0cnVjdCBtbV9z dHJ1Y3QgKm1tLCB1bnNpZ25lZCBsb25nIAo+IGFkZHIsCj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHB1ZF90ICpwdWRwLCBwdWRfdCBwdWQpCj4gIMKgwqDCoCB7Cj4g IMKgwqAgQEAgLTIyMiw2ICsyMjUsNyBAQCB2b2lkIF9fcGFnZV90YWJsZV9jaGVja19wdWRfc2V0 KHN0cnVjdCBtbV9zdHJ1Y3QgCj4gKm1tLCB1bnNpZ25lZCBsb25nIGFkZHIsCj4gIMKgwqDCoMKg wqDCoMKgIH0KPiAgwqDCoMKgIH0KPiAgwqDCoMKgIEVYUE9SVF9TWU1CT0woX19wYWdlX3RhYmxl X2NoZWNrX3B1ZF9zZXQpOwo+ICDCoMKgICsjZW5kaWYKPiAgwqDCoMKgIHZvaWQgX19wYWdlX3Rh YmxlX2NoZWNrX3B0ZV9jbGVhcl9yYW5nZShzdHJ1Y3QgbW1fc3RydWN0ICptbSwKPiAgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIGFk ZHIsCj4gCj4gd2l0aCB0aG9zZSBjaGFuZ2VzIHRoaXMgcGFzc2VzIG15IHRlc3RzLCBzbwo+IAo+ IEFja2VkLWJ5OiBQYWxtZXIgRGFiYmVsdCA8cGFsbWVyQHJpdm9zaW5jLmNvbT4KPiAKPiBGZWVs IGZyZWUgdG8gdGFrZSB0aGlzIGFsb25nIHdpdGggdGhlIHJlc3Qgb2YgdGhlbSBpZiB0aGF0J3Mg ZWFzaWVyLCB0aGUgCj4gUklTQy1WIGJpdHMgYXJlIHByZXR0eSBsaWdodC13ZWlnaHQuwqAgQWxz byBoYXBweSB0byBkbyBzb21lIHNvcnQgb2YgCj4gc2hhcmVkIHRhZyBvbmNlIHRoZSBvdGhlciBp c3N1ZXMgZ2V0IHNvcnRlZCBvdXQuCj4gCj4gVGhhbmtzIQoKSGksIHBhbG1lciwgdGhhbmtzIGZv ciB5b3UgcmVwbHkuCgpJIGZpeGVkIHRoZSBpc3N1ZSBvbiByaXNjdjMyIGEgZmV3IGRheXMgYWdv LiBJdCBzZWVtcyB0aGF0IGl0IGNhbiBhbHNvIApzb2x2ZSB0aGUgaXNzdWUgeW91IHNhaWQuCgpo dHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjIwNTE3MDc0NTQ4LjIyMjc3NzktMi10b25n dGlhbmdlbkBodWF3ZWkuY29tLwoKVGhhbmtzLApUb25nLgo+IAo+PiAtLS0KPj4gwqBhcmNoL3Jp c2N2L0tjb25maWfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxICsKPj4gwqBhcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCB8IDcxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tCj4+IMKgMiBmaWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LY29uZmlnIGIvYXJjaC9yaXNj di9LY29uZmlnCj4+IGluZGV4IDcxNTM5MGZlYjZlYS4uYmI5ZmRlMDllZWE1IDEwMDY0NAo+PiAt LS0gYS9hcmNoL3Jpc2N2L0tjb25maWcKPj4gKysrIGIvYXJjaC9yaXNjdi9LY29uZmlnCj4+IEBA IC0zOCw2ICszOCw3IEBAIGNvbmZpZyBSSVNDVgo+PiDCoMKgwqDCoCBzZWxlY3QgQVJDSF9TVVBQ T1JUU19BVE9NSUNfUk1XCj4+IMKgwqDCoMKgIHNlbGVjdCBBUkNIX1NVUFBPUlRTX0RFQlVHX1BB R0VBTExPQyBpZiBNTVUKPj4gwqDCoMKgwqAgc2VsZWN0IEFSQ0hfU1VQUE9SVFNfSFVHRVRMQkZT IGlmIE1NVQo+PiArwqDCoMKgIHNlbGVjdCBBUkNIX1NVUFBPUlRTX1BBR0VfVEFCTEVfQ0hFQ0sK Pj4gwqDCoMKgwqAgc2VsZWN0IEFSQ0hfVVNFX01FTVRFU1QKPj4gwqDCoMKgwqAgc2VsZWN0IEFS Q0hfV0FOVF9ERUZBVUxUX1RPUERPV05fTU1BUF9MQVlPVVQgaWYgTU1VCj4+IMKgwqDCoMKgIHNl bGVjdCBBUkNIX1dBTlRfRlJBTUVfUE9JTlRFUlMKPj4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yv aW5jbHVkZS9hc20vcGd0YWJsZS5oIAo+PiBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJs ZS5oCj4+IGluZGV4IDA0NmI0NDIyNTYyMy4uNjJlNzMzYzg1ODM2IDEwMDY0NAo+PiAtLS0gYS9h cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaAo+PiArKysgYi9hcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL3BndGFibGUuaAo+PiBAQCAtMTE0LDYgKzExNCw4IEBACj4+IMKgI2luY2x1ZGUgPGFz bS9wZ3RhYmxlLTMyLmg+Cj4+IMKgI2VuZGlmIC8qIENPTkZJR182NEJJVCAqLwo+Pgo+PiArI2lu Y2x1ZGUgPGxpbnV4L3BhZ2VfdGFibGVfY2hlY2suaD4KPj4gKwo+PiDCoCNpZmRlZiBDT05GSUdf WElQX0tFUk5FTAo+PiDCoCNkZWZpbmUgWElQX0ZJWFVQKGFkZHIpICh7wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gwqDCoMKgwqAgdWlu dHB0cl90IF9fYSA9ICh1aW50cHRyX3QpKGFkZHIpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIFwKPj4gQEAgLTMxNSw2ICszMTcsMTEgQEAgc3RhdGljIGlubGluZSBpbnQg cHRlX2V4ZWMocHRlX3QgcHRlKQo+PiDCoMKgwqDCoCByZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BB R0VfRVhFQzsKPj4gwqB9Cj4+Cj4+ICtzdGF0aWMgaW5saW5lIGludCBwdGVfdXNlcihwdGVfdCBw dGUpCj4+ICt7Cj4+ICvCoMKgwqAgcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX1VTRVI7Cj4+ ICt9Cj4+ICsKPj4gwqBzdGF0aWMgaW5saW5lIGludCBwdGVfaHVnZShwdGVfdCBwdGUpCj4+IMKg ewo+PiDCoMKgwqDCoCByZXR1cm4gcHRlX3ByZXNlbnQocHRlKSAmJiAocHRlX3ZhbChwdGUpICYg X1BBR0VfTEVBRik7Cj4+IEBAIC00NDYsNyArNDUzLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNl dF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZXZhbCkKPj4KPj4gwqB2b2lkIGZsdXNoX2ljYWNo ZV9wdGUocHRlX3QgcHRlKTsKPj4KPj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcHRlX2F0KHN0 cnVjdCBtbV9zdHJ1Y3QgKm1tLAo+PiArc3RhdGljIGlubGluZSB2b2lkIF9fc2V0X3B0ZV9hdChz dHJ1Y3QgbW1fc3RydWN0ICptbSwKPj4gwqDCoMKgwqAgdW5zaWduZWQgbG9uZyBhZGRyLCBwdGVf dCAqcHRlcCwgcHRlX3QgcHRldmFsKQo+PiDCoHsKPj4gwqDCoMKgwqAgaWYgKHB0ZV9wcmVzZW50 KHB0ZXZhbCkgJiYgcHRlX2V4ZWMocHRldmFsKSkKPj4gQEAgLTQ1NSwxMCArNDYyLDE3IEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCBzZXRfcHRlX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAo+PiDCoMKg wqDCoCBzZXRfcHRlKHB0ZXAsIHB0ZXZhbCk7Cj4+IMKgfQo+Pgo+PiArc3RhdGljIGlubGluZSB2 b2lkIHNldF9wdGVfYXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sCj4+ICvCoMKgwqAgdW5zaWduZWQg bG9uZyBhZGRyLCBwdGVfdCAqcHRlcCwgcHRlX3QgcHRldmFsKQo+PiArewo+PiArwqDCoMKgIHBh Z2VfdGFibGVfY2hlY2tfcHRlX3NldChtbSwgYWRkciwgcHRlcCwgcHRldmFsKTsKPj4gK8KgwqDC oCBfX3NldF9wdGVfYXQobW0sIGFkZHIsIHB0ZXAsIHB0ZXZhbCk7Cj4+ICt9Cj4+ICsKPj4gwqBz dGF0aWMgaW5saW5lIHZvaWQgcHRlX2NsZWFyKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAo+PiDCoMKg wqDCoCB1bnNpZ25lZCBsb25nIGFkZHIsIHB0ZV90ICpwdGVwKQo+PiDCoHsKPj4gLcKgwqDCoCBz ZXRfcHRlX2F0KG1tLCBhZGRyLCBwdGVwLCBfX3B0ZSgwKSk7Cj4+ICvCoMKgwqAgX19zZXRfcHRl X2F0KG1tLCBhZGRyLCBwdGVwLCBfX3B0ZSgwKSk7Cj4+IMKgfQo+Pgo+PiDCoCNkZWZpbmUgX19I QVZFX0FSQ0hfUFRFUF9TRVRfQUNDRVNTX0ZMQUdTCj4+IEBAIC00NzksNyArNDkzLDExIEBAIHN0 YXRpYyBpbmxpbmUgaW50IHB0ZXBfc2V0X2FjY2Vzc19mbGFncyhzdHJ1Y3QgCj4+IHZtX2FyZWFf c3RydWN0ICp2bWEsCj4+IMKgc3RhdGljIGlubGluZSBwdGVfdCBwdGVwX2dldF9hbmRfY2xlYXIo c3RydWN0IG1tX3N0cnVjdCAqbW0sCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCBwdGVfdCAqcHRlcCkKPj4gwqB7 Cj4+IC3CoMKgwqAgcmV0dXJuIF9fcHRlKGF0b21pY19sb25nX3hjaGcoKGF0b21pY19sb25nX3Qg KilwdGVwLCAwKSk7Cj4+ICvCoMKgwqAgcHRlX3QgcHRlID0gX19wdGUoYXRvbWljX2xvbmdfeGNo ZygoYXRvbWljX2xvbmdfdCAqKXB0ZXAsIDApKTsKPj4gKwo+PiArwqDCoMKgIHBhZ2VfdGFibGVf Y2hlY2tfcHRlX2NsZWFyKG1tLCBhZGRyZXNzLCBwdGUpOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJu IHB0ZTsKPj4gwqB9Cj4+Cj4+IMKgI2RlZmluZSBfX0hBVkVfQVJDSF9QVEVQX1RFU1RfQU5EX0NM RUFSX1lPVU5HCj4+IEBAIC01NDYsNiArNTY0LDEzIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQg bG9uZyBwbWRfcGZuKHBtZF90IHBtZCkKPj4gwqDCoMKgwqAgcmV0dXJuICgoX19wbWRfdG9fcGh5 cyhwbWQpICYgUE1EX01BU0spID4+IFBBR0VfU0hJRlQpOwo+PiDCoH0KPj4KPj4gKyNkZWZpbmUg X19wdWRfdG9fcGh5cyhwdWQpwqAgKHB1ZF92YWwocHVkKSA+PiBfUEFHRV9QRk5fU0hJRlQgPDwg Cj4+IFBBR0VfU0hJRlQpCj4+ICsKPj4gK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwdWRf cGZuKHB1ZF90IHB1ZCkKPj4gK3sKPj4gK8KgwqDCoCByZXR1cm4gKChfX3B1ZF90b19waHlzKHB1 ZCkgJiBQVURfTUFTSykgPj4gUEFHRV9TSElGVCk7Cj4+ICt9Cj4+ICsKPj4gwqBzdGF0aWMgaW5s aW5lIHBtZF90IHBtZF9tb2RpZnkocG1kX3QgcG1kLCBwZ3Byb3RfdCBuZXdwcm90KQo+PiDCoHsK Pj4gwqDCoMKgwqAgcmV0dXJuIHB0ZV9wbWQocHRlX21vZGlmeShwbWRfcHRlKHBtZCksIG5ld3By b3QpKTsKPj4gQEAgLTU2Nyw2ICs1OTIsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgcG1kX3lvdW5n KHBtZF90IHBtZCkKPj4gwqDCoMKgwqAgcmV0dXJuIHB0ZV95b3VuZyhwbWRfcHRlKHBtZCkpOwo+ PiDCoH0KPj4KPj4gK3N0YXRpYyBpbmxpbmUgaW50IHBtZF91c2VyKHBtZF90IHBtZCkKPj4gK3sK Pj4gK8KgwqDCoCByZXR1cm4gcHRlX3VzZXIocG1kX3B0ZShwbWQpKTsKPj4gK30KPj4gKwo+PiDC oHN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rb2xkKHBtZF90IHBtZCkKPj4gwqB7Cj4+IMKgwqDC oMKgIHJldHVybiBwdGVfcG1kKHB0ZV9ta29sZChwbWRfcHRlKHBtZCkpKTsKPj4gQEAgLTYwMCwx NSArNjMwLDM5IEBAIHN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rZGlydHkocG1kX3QgcG1kKQo+ PiDCoHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcG1kX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1 bnNpZ25lZCBsb25nIGFkZHIsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBt ZF90ICpwbWRwLCBwbWRfdCBwbWQpCj4+IMKgewo+PiAtwqDCoMKgIHJldHVybiBzZXRfcHRlX2F0 KG1tLCBhZGRyLCAocHRlX3QgKilwbWRwLCBwbWRfcHRlKHBtZCkpOwo+PiArwqDCoMKgIHBhZ2Vf dGFibGVfY2hlY2tfcG1kX3NldChtbSwgYWRkciwgcG1kcCwgcG1kKTsKPj4gK8KgwqDCoCByZXR1 cm4gX19zZXRfcHRlX2F0KG1tLCBhZGRyLCAocHRlX3QgKilwbWRwLCBwbWRfcHRlKHBtZCkpOwo+ PiArfQo+PiArCj4+ICtzdGF0aWMgaW5saW5lIGludCBwdWRfdXNlcihwdWRfdCBwdWQpCj4+ICt7 Cj4+ICvCoMKgwqAgcmV0dXJuIHB0ZV91c2VyKHB1ZF9wdGUocHVkKSk7Cj4+IMKgfQo+Pgo+PiDC oHN0YXRpYyBpbmxpbmUgdm9pZCBzZXRfcHVkX2F0KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLCB1bnNp Z25lZCBsb25nIGFkZHIsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHB1ZF90 ICpwdWRwLCBwdWRfdCBwdWQpCj4+IMKgewo+PiAtwqDCoMKgIHJldHVybiBzZXRfcHRlX2F0KG1t LCBhZGRyLCAocHRlX3QgKilwdWRwLCBwdWRfcHRlKHB1ZCkpOwo+PiArwqDCoMKgIHBhZ2VfdGFi bGVfY2hlY2tfcHVkX3NldChtbSwgYWRkciwgcHVkcCwgcHVkKTsKPj4gK8KgwqDCoCByZXR1cm4g X19zZXRfcHRlX2F0KG1tLCBhZGRyLCAocHRlX3QgKilwdWRwLCBwdWRfcHRlKHB1ZCkpOwo+PiAr fQo+PiArCj4+ICsjaWZkZWYgQ09ORklHX1BBR0VfVEFCTEVfQ0hFQ0sKPj4gK3N0YXRpYyBpbmxp bmUgYm9vbCBwdGVfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UocHRlX3QgcHRlKQo+PiArewo+PiArwqDC oMKgIHJldHVybiBwdGVfcHJlc2VudChwdGUpICYmIHB0ZV91c2VyKHB0ZSk7Cj4+ICt9Cj4+ICsK Pj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBwbWRfdXNlcl9hY2Nlc3NpYmxlX3BhZ2UocG1kX3QgcG1k KQo+PiArewo+PiArwqDCoMKgIHJldHVybiBwbWRfbGVhZihwbWQpICYmIHBtZF91c2VyKHBtZCk7 Cj4+IMKgfQo+Pgo+PiArc3RhdGljIGlubGluZSBib29sIHB1ZF91c2VyX2FjY2Vzc2libGVfcGFn ZShwdWRfdCBwdWQpCj4+ICt7Cj4+ICvCoMKgwqAgcmV0dXJuIHB1ZF9sZWFmKHB1ZCkgJiYgcHVk X3VzZXIocHVkKTsKPj4gK30KPj4gKyNlbmRpZgo+PiArCj4+IMKgI2lmZGVmIENPTkZJR19UUkFO U1BBUkVOVF9IVUdFUEFHRQo+PiDCoHN0YXRpYyBpbmxpbmUgaW50IHBtZF90cmFuc19odWdlKHBt ZF90IHBtZCkKPj4gwqB7Cj4+IEBAIC02MzQsNyArNjg4LDExIEBAIHN0YXRpYyBpbmxpbmUgaW50 IAo+PiBwbWRwX3Rlc3RfYW5kX2NsZWFyX3lvdW5nKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1h LAo+PiDCoHN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kcF9odWdlX2dldF9hbmRfY2xlYXIoc3RydWN0 IG1tX3N0cnVjdCAqbW0sCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdW5zaWduZWQgbG9uZyBhZGRyZXNzLCBwbWRfdCAqcG1kcCkKPj4gwqB7Cj4+IC3CoMKgwqAg cmV0dXJuIHB0ZV9wbWQocHRlcF9nZXRfYW5kX2NsZWFyKG1tLCBhZGRyZXNzLCAocHRlX3QgKilw bWRwKSk7Cj4+ICvCoMKgwqAgcG1kX3QgcG1kID0gX19wbWQoYXRvbWljX2xvbmdfeGNoZygoYXRv bWljX2xvbmdfdCAqKXBtZHAsIDApKTsKPj4gKwo+PiArwqDCoMKgIHBhZ2VfdGFibGVfY2hlY2tf cG1kX2NsZWFyKG1tLCBhZGRyZXNzLCBwbWQpOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIHBtZDsK Pj4gwqB9Cj4+Cj4+IMKgI2RlZmluZSBfX0hBVkVfQVJDSF9QTURQX1NFVF9XUlBST1RFQ1QKPj4g QEAgLTY0OCw2ICs3MDYsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcG1kcF9zZXRfd3Jwcm90ZWN0 KHN0cnVjdCAKPj4gbW1fc3RydWN0ICptbSwKPj4gwqBzdGF0aWMgaW5saW5lIHBtZF90IHBtZHBf ZXN0YWJsaXNoKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLAo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsIHBtZF90ICpwbWRwLCBwbWRf dCBwbWQpCj4+IMKgewo+PiArwqDCoMKgIHBhZ2VfdGFibGVfY2hlY2tfcG1kX3NldCh2bWEtPnZt X21tLCBhZGRyZXNzLCBwbWRwLCBwbWQpOwo+PiDCoMKgwqDCoCByZXR1cm4gX19wbWQoYXRvbWlj X2xvbmdfeGNoZygoYXRvbWljX2xvbmdfdCAqKXBtZHAsIHBtZF92YWwocG1kKSkpOwo+PiDCoH0K Pj4gwqAjZW5kaWYgLyogQ09ORklHX1RSQU5TUEFSRU5UX0hVR0VQQUdFICovCj4gLgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=